我正在尝试此代码,但我收到此错误:
Only variables can be passed by reference in xxx
脚本
class page {
function insert($db, $of, $form, &$arr) {
$i = 0;
foreach(array_combine($form['value0'], $arr) as $val=>$v){
$sql->prepare("mysqli query here");
$sql->bind_param('ssss', $val, $of, $v[$i][0], $v[$i][1]);//error here
$sql->execute();
$i++;
}
return true;
}
}
是什么原因,怎么解决?感谢
答案 0 :(得分:5)
我假设你正在使用mysqli::bind_param
。除第一个之外的所有参数都通过引用传递。这意味着它们必须是变量,而不是字符串,数组元素等。我实际上不确定为什么它需要通过引用来做到这一点,但没关系。你可以很容易地解决它:
$v0 = $v[$i][0];
$v1 = $v[$i][1];
$sql->bind_param('ssss', $val, $of, $v0, $v1);