Невозможно передать параметр по ссылке в MySQLi - PullRequest
11 голосов
/ 06 апреля 2011

Я пытаюсь передать строку в подготовленный MySQLi оператор, но выдает ошибку:

Невозможно передать параметр по ссылке в MySQLi

Вот соответствующий код:

$kv = json_encode(array($key => $value));
$stmt->prepare("insert into rules (application_id, ruletype, rule_name, rule_info) values (?, ?, ?, ?);");
$stmt->bind_param('iiss', $application_id, 1, $config_name, $kv);

Ответы [ 2 ]

24 голосов
/ 06 апреля 2011

«iiss» и «1» не могут быть переданы как ссылки, потому что они не переменные, а строковые константы. Вам нужно создать две переменные с указанными значениями и передать их, потому что функция bind_param () ожидает переменные, переданные по ссылке.

Edit: проблема вызвана '1', а не именем привязываемого параметра ('iiss'). Извините за дезинформацию, я спешил, когда отвечал на ваш вопрос.

0 голосов
/ 06 апреля 2011

Проверьте $config_name аргумент. '1' не передать в качестве ссылок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...