У меня возникла эта ошибка при запуске сценария:
Неустранимая ошибка: вызов функции-члена
bindParam() для объекта, не являющегося объектом в
/opt/lampp/htdocs/phpSecurity/PreparedStatments/Insert-Multi-Binded-Params/Insert
Simple Method.php в строке 10
Вот код.
Insert Simple Method.php
Код: Выделить всё
Код: Выделить всё
PS: Я думаю, что соединение с mysqli не является проблемой, потому что я использовал его для выполнения некоторых подготовленных операторов с командами SELECT SQL. И сработало очень хорошо.
РЕДАКТИРОВАТЬ
Разрешение и почему.
Ну, в примере я должен использовать bind_param() для каждого значения в запросе. Но благодаря Барту ему удалось решить проблему с моим кодом.
Где это:
Код: Выделить всё
$stmt->bindParam(1, $nome);
$stmt->bindParam(2, $telefone);
$stmt->bindParam(3, $bi);
Код: Выделить всё
$stmt->bind_param("sii", $nome, $telefone, $bi);
Ну, я вижу, чтоbind_param привязывает "$var" к каждому вопросительному знаку "?" по порядку.
Таким образом, с помощью одного методаbind_param() я могу связать их все одновременно, а обычное использование методаbind_param() требует указания типа привязываемых данных.
Мое первое значение, которое нужно привязать, — это $nome — строка, определяемая буквой «s»;
А остальные — $telefone и $bi Целые числа для этого у него есть "i";
Для других, у которых есть аналогичная проблема, здесь используются другие типы данных (из php.net).
i = Integer;
s = String;
d = Double;
b = Blob;
Если кто-то как лучшее объяснение, пожалуйста, опубликуйте его или прокомментируйте. Так что я могу улучшить свои собственные.
Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/167 ... ot-working
Мобильная версия