微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – PDO – 在bindParam中使用LIKE

我正在测试一个搜索功能

但我遇到了一个我似乎无法解决错误.您可以在此处查看PDO查询

$search = "test1"; //later to be changes to $_POST ['search'];

$sql = "SELECT id, name FROM clients WHERE name LIKE CONCAT('%',:name,'%')";
$stm = $db->prepare ($sql);
$stm->bindParam ( ":name", $search );
$stm->execute ();
$result = $stm->fetchAll();

正如您所看到的,我正在尝试从我的查询中绑定参数%:name%,但我不知道这实际上是否可行?

我解除了错误:未捕获的异常’PDOException’,消息’sqlSTATE [42000]:…..

我可以在错误中看到“已经放在test1%’test1’%

我正在努力,或者我需要做这样的事情?

$query = "SELECT id, name FROM clients WHERE name like :name order by id LIMIT 5";

$sql->execute(array(":name" => "%" .$search . "%"));

解决方法:

使用

LIKE CONCAT('%', :name, '%')

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐