我正在使用mysqli,我有这个查询:
$q = "SELECT col1, col2 FROM `Something` WHERE col2 LIKE '%?%'";
Run Code Online (Sandbox Code Playgroud)
如果我在PHP之外用一个单词代替它来查询它,相同的查询工作正常?.在PHP中,我不能这样做.我得到的错误是:
mysqli_stmt :: bind_param():变量数与预准备语句中的参数数量不匹配[..]
查询输出正常var_dump(),参数本身也是如此.
这是bind_param():
$stmt->bind_param("s", $param);
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
这只是放置标志的问题
$q = "SELECT col1, col2 FROM `Something` WHERE col2 LIKE ?";
$stmt->bind_param("s", '%' . $param . '%');
Run Code Online (Sandbox Code Playgroud)
我知道这已经抛弃了很多人,你不是第一个:)