Как связать в PDO строку с% - PullRequest
0 голосов
/ 04 декабря 2009

У меня есть следующий запрос (который не работает).
Как сделать ставку для строк внутри существующей строки с% (я считаю, что% это не проблема, но на самом деле не уверен).

$sql="SELECT * FROM T WHERE f LIKE '%:bindParamString%'";

Ответы [ 2 ]

2 голосов
/ 04 декабря 2009

Вы можете включить % символов в ваше значение:

 $param = '%'.$param.'%';
 $query = "SELECT * FROM T WHERE f LIKE ?";

Или используйте SQL для объединения строк в базе данных:

 ## if you have mysql
 $query = "SELECT * FROM T WHERE f LIKE CONCAT('%', ?, '%')";

Также рекомендуется использовать LIKE вместо =, тогда вы будете искать по шаблонам.

2 голосов
/ 04 декабря 2009

Попробуйте что-то вроде этого:

$db = new PDO(...);

$sql = "SELECT * FROM T WHERE f=?";
$stmt = $db->prepare($sql);

$val = "%{$val}%";
$stmt->bindParam(1, $val, PDO::PARAM_STR);

Для получения дополнительной информации я предлагаю прочитать соответствующую страницу doc !

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