Leon1010

Я в Соц.сетях:

Теги:

Ссылки

Знакомство с PDO

Самая распространенная на данный момент СУБД это MySQL и соответственно все юзают именно ее.
В PHP 5 существует расширение PDO (PHP Data Objects). Что же это за такое расширение? PDO предоставляет общий интерфейс к различным базам данных (SQLite, MySQL, PosgreSQL, etc), т.е. служит неким адаптером. К преимуществом PDO можно отнести, то, что оно написано на C, (впрочем, почти как и все расширения) с учетом всех нововведений PHP 5.1. Вообщем PDO — рулез :). Ну и чтобы нам реальным пацанам не было стремно перед другими такими же пацанами, мы должны юзать или хотя бы знать как юзать PDO. Что же будем учиться :).
Для начала нам надо убедится, что у нас имеется библиотека PDO. Для этого смотрим вывод функции phpinfo(). У меня на Денвере (да, я юзаю Денвер) установлен драйвер php_pdo_mysql.dll. В принципе мне этого достаточно. Вам должно быть тоже, если только вы не захотите использовать, к примеру SQLite или PostgreSQL. В таком случае придется самостоятельно скачать дополнительные драйвера. Итак, будем считать, что все готово и приступим к самому интересному — кодингу.

Подключение к MySQL:

Закрытие соединения:

Запросы. Запросы в PDO могут быть двух видов: обычные и с плейсхолдерами. Запросы с плейсхолдерами рекомендуются для скорости и безопасности.
Рассмотрим обычные запросы. Они могут выполняться двумя способами: через метод query() и метод exec(). Обычно рекомендуется для получения данных из БД использовать метод query(), а для модификации данных — метод exec().
Например:

Как не трудно догадаться этот запрос получает все данные из таблицы posts. Поэтому использовался метод query().

 

А эти запросы модифицируют информацию (вставка и обновление), поэтому здесь использовался метод exec().

Ну а теперь самое вкусное — подготовленные выражения, они же плейсхолдеры. И сразу пример:

Здесь в массив подставляется значение переменной $id, в которой хранится значение из GET-переменной. Оно подставляется на место знака вопроса в первом запросе. Вот таким вот образом происходит защита от SQL-иньекций.
Для экранирования символов, используется функция quote().
Теперь быстренько пройдемся по выборке данных:

На этом все. Это была лишь малая толика обзора возможностей PDO. Да и я не ставил перед собой цели, рассмотреть всех их, тем более я сам всего не знаю :). Я хотел лишь подтолкнуть вас на изучение такого замечательного расширения, как PDO. Дальше Гугл, Яндекс, Википедия и т.п. вам в помощь.

Запись опубликована в рубрике Кодинг с метками , .