Как использовать PDO :: quote, не заключая строки в кавычки? - PullRequest
5 голосов
/ 01 декабря 2011

Я пытаюсь использовать PDO::quote для экранирования строки в выражении LIKE, поэтому пользовательская строка не должна быть заключена в строку, например:

LIKE "%userStringToEscape%"

Есть ли способ сделать это?

Ответы [ 3 ]

6 голосов
/ 01 декабря 2011
$var = "%userStringToEscape%";
$var = $stmt->quote($var);
$sql = "SELECT * FROM table WHERE field LIKE $var";

то же самое относится к подготовленным заявлениям

0 голосов
/ 25 февраля 2014

Просто сделай:

$like = $pdo->quote("%{$userStringToEscape}%");
$sql  = "SELECT * FROM field LIKE {$like}";

http://php.net/manual/en/pdo.quote.php

0 голосов
/ 01 декабря 2011

Использование substr($db->quote($var), 1, -1)

Правда, не надо. У вас будут большие проблемы, чем те, с которыми вы начинали.

Чистое решение для этого, конечно, $db->quote('%'.$var.'%')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...