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