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, '%')

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...