chu*_*tar 13 php mysql binding mysqli prepared-statement
我试图将一个字符串传递给我的MySQLi预处理语句,但它给了我错误:
在MySQLi中不能通过引用传递参数
这是相关代码:
$kv = json_encode(array($key => $value));
$stmt->prepare("insert into rules (application_id, ruletype, rule_name, rule_info) values (?, ?, ?, ?);");
$stmt->bind_param('iiss', $application_id, 1, $config_name, $kv);
Run Code Online (Sandbox Code Playgroud)
N.B*_*.B. 26
'iiss'和'1'不能作为参考传递,因为它们不是变量而是字符串常量.您需要使用提到的值创建两个变量并传递它们,因为bind_param()函数需要通过引用传递的变量.
编辑:导致问题的是'1',而不是绑定参数的名称('iiss').对于错误的信息感到抱歉,当我回答你的问题时,我很匆忙.