PHP PDO

Расширение PHP Data Objects (PDO) определяет легковесный, единообразный интерфейс для доступа PHP к базам данных.

PDO предоставляет уровень абстракции доступа к данным, что означает, что независимо от того, какую базу данных вы используете, вы можете применять одни и те же функции (методы) для выполнения запросов и получения данных.

PDO был выпущен вместе с PHP 5.1 и также доступен в расширении PECL для PHP 5.0; он не может работать на более ранних версиях PHP.


Установка PDO

Вы можете использовать функцию PHP phpinfo(), чтобы проверить, установлено ли расширение PDO.

Установка PDO в системах Unix

В Unix или Linux необходимо добавить следующие расширения:

extension=pdo.so

Пользователи Windows

PDO и все основные драйверы распространяются с PHP как разделяемые расширения. Чтобы активировать их, просто отредактируйте файл php.ini и добавьте следующие расширения:

extension=php_pdo.dll
Кроме того, существуют следующие соответствующие расширения для баз данных:

;extension=php_pdo_firebird.dll
;extension=php_pdo_informix.dll
;extension=php_pdo_mssql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_oci8.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll

После настройки этих конфигураций необходимо перезапустить PHP или веб-сервер.

Теперь давайте рассмотрим конкретный пример. Ниже приведён пример использования PDO для подключения к базе данных MySQL:

Пример

<?php
$dbms='mysql';     //тип базы данных
$host='localhost'; //имя хоста базы данных
$dbName='test';    //используемая база данных
$user='root';      //имя пользователя для подключения к базе данных
$pass='';          //соответствующий пароль
$dsn="$dbms:host=$host;dbname=$dbName";


try {
    $dbh = new PDO($dsn, $user, $pass); //инициализируем объект PDO
    echo "Подключение выполнено успешно<br/>";
    /*Вы также можете выполнить операцию поиска
    foreach ($dbh->query('SELECT * from FOO') as $row) {
print_r($row); //можно использовать echo($GLOBAL); чтобы увидеть эти значения
    }
    */

    $dbh = null;
} catch (PDOException $e) {
    die ("Ошибка!: " . $e->getMessage() . "<br/>");
}
//По умолчанию это не постоянное соединение. Если вам нужно постоянное соединение с базой данных, нужно добавить параметр в конце: array(PDO::ATTR_PERSISTENT => true) вот так:
$db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true));

?>

Очень просто. Далее давайте подробнее рассмотрим конкретную документацию по PHP PDO:

Другие расширения