Я пытаюсь этот код, но я получаю эту ошибку:
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; } }
в чем причина и как можно решить? благодаря
Я предполагаю, что вы используете mysqli::bind_param
. Все аргументы, кроме первого, передаются по ссылке. Это означает, что они должны быть переменными, а не строками, элементами массива и т. Д. На самом деле я не уверен, почему это нужно делать по ссылке, но неважно. Вы можете исправить это довольно легко:
$v0 = $v[$i][0]; $v1 = $v[$i][1]; $sql->bind_param('ssss', $val, $of, $v0, $v1);