我正在尝试此代码,但出现此错误:
Only variables can be passed by reference in xxx
script
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;
}
}
是什么原因,如何解决?谢谢
我假设你正在使用mysqli::bind_param https://www.php.net/manual/en/mysqli-stmt.bind-param.php。除第一个参数之外的所有参数均通过引用传递。这意味着它们必须是变量,而不是字符串、数组元素等。我实际上不确定why它需要通过引用来做到这一点,但没关系。你可以很容易地修复它:
$v0 = $v[$i][0];
$v1 = $v[$i][1];
$sql->bind_param('ssss', $val, $of, $v0, $v1);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)