TNK*_*TNK 3 php mysql sql mysqli prepared-statement
希望有人能帮助我了解当变量值旁边需要多字符通配符时如何在 mysqli 中绑定参数。我发现它在创建 SQL 语句时对我有用,如下所示:
$sql = "SELECT item_title FROM item WHERE item_title LIKE '%$title%'";
Run Code Online (Sandbox Code Playgroud)
但是,我尝试按照相同的模式绑定变量,发现它失败了。他们使用了这个代码:
$sql = "SELECT item_title FROM item WHERE item_title LIKE '%?%'";
Run Code Online (Sandbox Code Playgroud)
它引发了这个错误:
警告: mysqli_stmt_bind_param() [function.mysqli-stmt-bind-param]: 变量数与 program_name 在线准备语句中的参数数不匹配......
谁能告诉我如何解决这个问题?谢谢你。
您只能绑定数据文字而不是任意查询部分。
所以,首先准备你的文字
$var = "%$var%";
$sql = "SELECT item_title FROM item WHERE item_title LIKE ?";
Run Code Online (Sandbox Code Playgroud)