Включение подготовленных операторов с помощью INSERT INTO
При прохождении лабиринтных глубин PHP: объекты данных при попытке выполнить MySQL возникает непростая загадка. запросы с использованием подготовленных операторов, особенно для операций INSERT INTO. Рассмотрим следующий фрагмент кода:
$statement = $link->prepare("INSERT INTO testtable(name, lastname, age) VALUES('Bob','Desaunois','18')"); $statement->execute();
Несмотря на соблюдение предполагаемого предписанного метода, база данных упорно остается заброшенной. Давайте рассмотрим недостающие элементы, которые мешают нашему прогрессу.
Ключ к раскрытию потенциала подготовленных операторов для запросов INSERT INTO заключается в привязке параметров, методе, который позволяет безопасно и динамично интегрировать значения в SQL-заявление. Это достигается за счет включения заполнителей в запрос и последующего предоставления соответствующих значений в виде ассоциативного массива во время выполнения.
Следуйте за измененным кодом:
$statement = $link->prepare('INSERT INTO testtable (name, lastname, age) VALUES (:fname, :sname, :age)'); $statement->execute([ 'fname' => 'Bob', 'sname' => 'Desaunois', 'age' => '18', ]);
Обратите внимание на наличие имен параметров «:fname», «:sname» и «:age» в запросе. Они служат заполнителями для фактических значений, которые затем предоставляются в виде ассоциативного массива в функции выполнения().
В качестве альтернативы вы можете использовать символ '?' синтаксис в качестве заполнителей и передать массив значений без указания имен параметров:
$statement = $link->prepare('INSERT INTO testtable (name, lastname, age) VALUES (?, ?, ?)'); $statement->execute(['Bob', 'Desaunois', '18']);
Оба подхода имеют свои преимущества и недостатки. Использование именованных параметров повышает читабельность, а знак '?' синтаксис упрощает процесс привязки значений. Однако в конечном итоге выбор между ними является вопросом личных предпочтений.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3