试着做这种事......
WHERE username LIKE '%$str%'
Run Code Online (Sandbox Code Playgroud)
...但是在PDO中使用绑定参数来准备语句.例如:
$query = $db->prepare("select * from comments where comment like :search");
$query->bindParam(':search', $str);
$query->execute();
Run Code Online (Sandbox Code Playgroud)
我已经尝试了很多单引号和%符号的排列,它只是与我交叉.
我似乎记得以前在某些时候与此摔跤,但我找不到任何参考.有没有人知道如何(如果?)你可以在PDO中使用命名参数很好地完成这项工作?
Pol*_*nby 15
啊.在php.net上发现了一条评论,让我想起了答案; 在评估bindParam之前,您需要对您的值进行通配符,而不必担心引用它.所以例如这很好:
$str = "%$str%";
$query = $db->prepare("select * from comments where comment like :search");
$query->bindParam(':search', $str);
$query->execute();
Run Code Online (Sandbox Code Playgroud)