Intereting Posts
PHPExcel изменяет существующий файл .xlsx с несколькими листами используя cron, чтобы заставить php-script запускать непрерывные процессы как создать вложенный массив и сохранить его в базе данных? PHP mySQL проверяет, находятся ли имя пользователя и пароль в базе данных Пользовательская маршрутизация symfony на основе доктрины Php curl set ssl версия Sanitize параметры $ _GET, чтобы избежать XSS и других атак Получить имена полей формы HTML Почему Ajax дает мне ошибку перекрестного происхождения, когда я могу сделать запрос с PHP? Выберите наименьшее значение из нескольких столбцов с помощью PHP / MySQL Magento – отдельный пользовательский атрибут продукта с массивом значений Функция explode (), которая игнорирует символы внутри кавычек? Ошибка HTTP 405.0 – метод не разрешен, с POST Использование встроенной функции MySQL в активных записях (codeigniter) XSLTProcessor xmlSAX2Characters: вне памяти

Только переменные могут передаваться по ссылке – php

Я пытаюсь этот код, но я получаю эту ошибку:

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);