У меня есть следующий запрос (который не работает).
Как внести ставки в существующую строку с% (я считаю, что% не проблема, но на самом деле не уверен).Как связать в PDO строку с%
$sql="SELECT * FROM T WHERE f LIKE '%:bindParamString%'";
У меня есть следующий запрос (который не работает).
Как внести ставки в существующую строку с% (я считаю, что% не проблема, но на самом деле не уверен).Как связать в PDO строку с%
$sql="SELECT * FROM T WHERE f LIKE '%:bindParamString%'";
Вы можете включать %
символов в ваше значение:
$param = '%'.$param.'%';
$query = "SELECT * FROM T WHERE f LIKE ?";
Или использовать SQL для конкатенации строки в базе данных:
## if you have mysql
$query = "SELECT * FROM T WHERE f LIKE CONCAT('%', ?, '%')";
Это также хорошую идею использовать LIKE
вместо =
тогда вы повторный поиск по шаблонам.
попробовать что-то вроде этого:
$db = new PDO(...);
$sql = "SELECT * FROM T WHERE f=?";
$stmt = $db->prepare($sql);
$val = "%{$val}%";
$stmt->bindParam(1, $val, PDO::PARAM_STR);
Для получения дополнительной информации, я предлагаю, чтобы прочитать связанную doc page!