$prep->prepare("SELECT * FROM details WHERE id REGEXP '?'");
$prep->bind_param("s", $search_query);
它给了我这个警告:
Warning: MysqLi_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement
我猜这可能是因为问号也用于RegExp(可选的前一个字符).
有关如何在预准备语句中使用REGEXP(没有冲突的问号)的任何想法?
谢谢.
解决方法:
取出围绕?的单引号.您的代码应为:
$prep->prepare("SELECT * FROM details WHERE id REGEXP ?");
$prep->bind_param("s", $search_query);
就目前而言,你正在传递一个参数,但是?在单引号中被视为字符串,而不是参数标记.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。