我正在尝试将一个字符串传递给我的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);
答案 0 :(得分:24)
'iiss'和'1'不能作为参考传递,因为它们不是变量而是字符串常量。您需要使用提到的值创建两个变量并传递它们,因为bind_param()函数需要通过引用传递的变量。
编辑:导致问题的是'1',而不是绑定参数的名称('iiss')。对于错误的信息感到抱歉,当我回答你的问题时,我很匆忙。
答案 1 :(得分:0)
检查$config_name
参数。 '1'
未通过推荐