SQL/PHP:绑定变量与令牌数不匹配
这是网站帐户搜索功能的一部分。$param和$str都已定义。脚本的这一部分从正在执行搜索的列的表中调用计数SQL/PHP:绑定变量与令牌数不匹配,php,mysql,select,count,Php,Mysql,Select,Count,这是网站帐户搜索功能的一部分。$param和$str都已定义。脚本的这一部分从正在执行搜索的列的表中调用计数 $query = $db->prepare("SELECT COUNT(`?`) FROM `users` WHERE `?` LIKE '?'"); $query->bindValue(1, $param); $query->bindValue(2, $param); $query->bindValue(3, $str); $query-
$query = $db->prepare("SELECT COUNT(`?`) FROM `users` WHERE `?` LIKE '?'");
$query->bindValue(1, $param);
$query->bindValue(2, $param);
$query->bindValue(3, $str);
$query->execute();
$total = $query->fetchColumn();
问题是我收到以下SQL错误:
SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
一天中的大部分时间我都在试着调试这个。我知道我所有的变量都已定义,我将它们与语句中的标记相关联,并且没有任何标记缺少变量。有人知道我为什么会犯这个错误吗 如果用COUNT*替换COUNT`?`并删除其bindValue,是否有效?很抱歉回复得太晚。我按照你的建议做了,克里斯,结果还是一样的错误信息。我最终没有解决这个问题,但我确实解决了这个问题,用bindParam替换bindValue,并在语句中定义了参数。