2009-12-04 2 views
0

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

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

ответ

2

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

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

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

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

Это также хорошую идею использовать LIKE вместо = тогда вы повторный поиск по шаблонам.

2

попробовать что-то вроде этого:

$db = new PDO(...); 

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

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

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

Смежные вопросы