【发布时间】:2016-04-22 23:02:21
【问题描述】:
我正在使用mysqli,我有这个查询:
$q = "SELECT col1, col2 FROM `Something` WHERE col2 LIKE '%?%'";
如果我在 PHP 之外用一个词代替 ? 来查询它,同样的查询也可以正常工作。在 PHP 中,我不能这样做。我得到的错误是:
mysqli_stmt::bind_param(): 变量数与prepared statement[..]中的参数数不匹配
var_dump() 中的查询输出正常,参数本身也是如此。
这是bind_param():
$stmt->bind_param("s", $param);
我做错了什么?
【问题讨论】:
-
LIKE ?然后将百分比添加到实际参数中 -
@JimL ...我不敢相信这是多么简单,而且我没有想到,哈哈。那很完美。如果您想将其发布为答案,我们会接受。
-
我确定它是重复的,希望有人可以标记它 - 出于某种奇怪的原因,我找不到重复项
-
我找不到重复的,因此发了帖子。建议是针对 PDO 的,但答案不适用于 mysqli。