что такое $stmt в PHP

Что такое $stmt и какова его цель? что это значит..

Я следую учебнику, который использует подготовленные инструкции и посмотрел stmt в руководстве: http://php.net/manual/en/class.mysqli-stmt.php

и видите, что это класс, который "представляет подготовленный оператор" - который, я думаю, является подготовленным оператором sql, в который вы вставляете переменную. хотя я не вижу, как этот идентификатор отличается от хранения инструкции sql в виде строки а затем манипулирование строкой для добавления переменных, когда вам нужно?

3 ответов


"$stmt" очевидно (я думаю) означает "заявление". В качестве имени переменной это произвольно, вы можете назвать эту переменную чем угодно. $stmt - Это просто идиома.

подготовленный оператор как таковой является функцией базы данных. Сама база данных выполняет запрос в два этапа: во-первых, структура запроса с заполнителями, во-вторых, данные для заполнения заполнителей. Объекты оператора на стороне PHP представляют это разделение и могут дать вам дескриптор представление подготовленной инструкции на стороне SQL server.

точка этого разделения заключается в том, что нет никаких шансов на проблемы с SQL-инъекцией из-за неправильно экранированных произвольных строковых значений; это также полезно для производительности, если вы повторно используете этот подготовленный оператор несколько раз.


работа с операторами намного безопаснее, чем вставка переменных в простую строку SQL. Используя инструкции, вы предотвращаете SQL-инъекцию. Взгляните на:

как работает SQL-инъекция из комиксов" таблицы Бобби " XKCD?

&

как предотвратить SQL-инъекцию в PHP?


что такое $stmt и какова его цель?

Это переменная и хранит значение

люди используют его для утверждения-другие немного более творческие с переменными name