【发布时间】:2014-03-20 08:59:08
【问题描述】:
我正在尝试使用这样的(noob)代码进行简单的搜索过程:
$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(没有冲突的问号)吗?
谢谢。
【问题讨论】:
-
你的
s参数在哪里? -
@AliMasudianPour 你的意思是搜索查询?我“得到”了它(使用 $_GET)。很好,准备好的查询中不需要的引号有问题。无论如何谢谢:)
-
@AlexL 真的吗? O.o我看不出我怎么能从你给出的答案链接中找到答案。我想它需要好的眼睛,我戴眼镜(或者我只是太菜鸟):) 无论如何谢谢。
-
@AlexL 啊,我明白了。是的,这就是问题所在:) Ed Cottrell 首先指出了这一点。无论如何,谢谢。
标签: php mysql regex mysqli prepared-statement