Когда я вызываю bind_param, если использую подготовленные операторы MySQLi в цикле?
Я пытаюсь узнать, как использовать подготовленные операторы с MySQLi для вставки данных.
Хотя готовые операторы хвалят за их способность многократно выполнять подобные операторы, я могу 'Кажется, мы не найдем примеров выполнения нескольких операторов в цикле с использованием MySQLi. Я'м особеннозапутался в следующем:
стоит ли звонитьbind_param
перед моей петлей или внутри моей петлистоит ли присваивать значения моим переменным до или после вызоваbind_param
Большинство обучающих программ по подготовленным утверждениям используют PDO. С PDO массив значений параметров может быть переданexecute
, устраняя необходимость звонитьbindParam
, Это не так с MySQLi.
Руководство по PHPmysqli_prepare
запись имеет пример, который показывает следующий порядок операций:
Судя по вышесказанному, я предполагал, что мне нужно будет вызвать оператор связывания в моем цикле.
Тем не менее, руководство по PHPmysqli_stmt_execute
запись имеет пример, который показывает следующий порядок операций:
Обратите внимание, что одна вещь в этом примере неt show - это место, где переменные впервые объявлены. Я думал, что передача необъявленных переменныхbind_param
будет генерировать уведомление. Я наконец понял, что могу передавать неопределенные переменные, потому что они передаются по ссылке.
Вопрос:
Один порядок операций предпочтительнее другого? Или это просто зависит от того, что вы делаете? Есть ли ошибки с одним или другим?
Замечания: Код уже использует MySQLi, и я нене хочу переключаться на PDO (переключение сейчас выходит за рамки этого проекта).