use*_*318 0 php mysql reference
我正在尝试此代码,但我收到此错误:
Only variables can be passed by reference in xxx
Run Code Online (Sandbox Code Playgroud)
脚本
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;
}
}
Run Code Online (Sandbox Code Playgroud)
是什么原因,怎么解决?谢谢
我假设你正在使用mysqli::bind_param.除第一个之外的所有参数都通过引用传递.这意味着它们必须是变量,而不是字符串,数组元素等.我实际上不确定为什么它需要通过引用来做到这一点,但没关系.你可以很容易地解决它:
$v0 = $v[$i][0];
$v1 = $v[$i][1];
$sql->bind_param('ssss', $val, $of, $v0, $v1);
Run Code Online (Sandbox Code Playgroud)