MySQLi
Очень удобное расширение для тех, кто работает с MySQL из PHP – MySQL improved (улучшенное). Отличается от стандартного MySQL.so тем, что имеет так называемые заданные параметры и заданные результаты и некоторыми другими улучшениями (в том числе и производительности). То есть, чтобы составить запрос, в классической версии, нужно было практически вручную собрать строку, в которой может быть множество ошибок и дыр для SQL-инъекций (особенно у неопытных программистов). В новой же версии процесс составления запроса состоит из таких этапов:
- Подготовка выражения – вы составляете запрос, заменяя места переменных спецсимволами (»?»)
- Привязка параметров – с помощью специальной функции вы описываете тип входных данных (система самостоятельно экранирует их от инъекций и приведет к заданному типу!) и переменные, которые можете изменять, не меняя самого запроса (например, для того, чтобы повторять один и тот же запрос в цикле).
- Выполнение запроса – ну, здесь все по-старинке. Запрос отсылается БД, она возвращает результат.
- Привязка результата – вместо составления ассоциативного массива, достаточно просто указать переменные, в которые упадут результаты. Стоит так же упомянуть, что эта привязка может так же использоваться многократно, например, в цикле, что очень удобно.
Ко всему прочему, остается и возможность совершать обычные, строчные запросы, объединять какие-то пункты, например, использовать обычный запрос (например, статический, таким образом, не требуется подготовка и привязка параметров), с привязкой результата.
Разумеется, что эта система гораздо более безопасна, систематизирована, быстрее работает, и я бы рекомендовал любым программистам, в том числе начинающим, пользоваться этим расширением. Это не единственное расширение, которое позволяет такие возможности (есть гораздо более универсальные и мощные, с поддержкой разных типов БД), но это очень распространенный пакет и его можно поставить на большинство виртуальных хостингов, не говоря о VDS/VPS или локальном сервере. Моментально избавляет от множества проблем безопасности и системности/понятности кода.
Вот ссылка, где приводится подробное описание, обучение работе с MySQLi: http://phpclub.ru/detail/article/mysqli, ну, и, разумеется, мануал

Отправить комментарий