Сегодня я начинаю цикл статей, посвящённых PDO , в котором разберём, что такое PDO , зачем он нам нужен и как его использовать.
Сегодня я начинаю цикл статей, посвящённых PDO, в котором разберём, что такое PDO, зачем он нам нужен и как его использовать.
Наверняка, многие уже слышали аббревиатуру PDO, но мало кто знает, что же это. Вот давайте сегодня об этом и поговорим.
Что такое PDO?
PDO(PHP Data Objects) - это просто интерфейс, позволяющий нам абстрагироваться от конкретной базы данных. Лучше всего показать на примере.
mysql_connect($host, $user, $pass); // MySQL
mysql_select_db($db);
sqlite_open($db); // sqlite
pg_connect("host=$host, dbname=$db, user=$user, password=$pass"); // PostgreSQL
В коде выше представлены способы для подключения к трём разным базам данных: MySQL, sqlite и PostgreSQL. Как видите, функции у каждой БД отличаются.
То же самое с другими действиями. Например, выборка данных из БД.
$sql = "INSERT INTO(name, pass) VALUES($name, $pass)";
mysql_query($sql); // MySQL
sqlite_query($sql); // sqlite
pg_query($sql); // PostgreSQL
Зачем нужен PDO?
Представим, что у нас есть огромная база данных PostgreSQL, и мы решили сменить её на MySQL. Нам придётся переписывать очень много кода, и, скорее всего, без ошибок не обойдётся. Чтобы решить эту проблему и существует PDO, позволяющий нам не зависеть от конкретной базы.
Давайте рассмотрим, как мы теперь можем подключиться.
$db = new PDO("mysql:host=$host;dbname=$db", $user, $pass); // MySQL
$db = new PDO("sqlite:host=$host;dbname=$db", $user, $pass); // sqlite
$db = new PDO("pgsql:host=$host;dbname=$db", $user, $pass); // PostgreSQL
Как видно из кода выше, в этих трёх подключениях меняется только строчка с названием БД, а остальное всё то же самое.
Чтобы что-нибудь выбрать, мы можем написать так:
$db->exec($sql);
Всё! Запрос выполнится независимо от того, какая у нас база данных.
Поддержка
PDO доступен с PHP 5.1. Чтобы мы могли "забыть", какую базу данных мы используем, за нас всё делают их драйверы. Чтобы их активировать, зайдите в файл php.ini и найдите там строчки, которые начинаются на extension=php_pdo_, а затем идёт название базы данных, и раскоментируйте их.
На этом всё для вступительной статьи, а в следующей мы уже начнём разбираться, как использовать PDO.
