PHP PDO

PHP PDO

На мой взгляд самая прикольная реализация доступа к базам данных.

    На сегодняшний день работает с:

  • CUBRID (PDO)
  • MS SQL Server (PDO)
  • Firebird/Interbase (PDO)
  • IBM (PDO)
  • Informix (PDO)
  • MySQL (PDO)
  • MS SQL Server (PDO)
  • Oracle (PDO)
  • ODBC and DB2 (PDO)
  • PostgreSQL (PDO)
  • SQLite (PDO)
  • 4D (PDO)

Имхо самая шустрая штука. Эта статья введение, далее я собираюсь более подробно рассмотреть эту тему.

PHP Data Objects  (PDO) – расширение, определяющее облегченный, единый интерфейс для доступа к базам данных в PHP. Каждый драйвер базы данных, который реализует интерфейс PDO, может предоставить определенные для базы данных функции как обычные функции расширения. Обратите внимание, что Вы не можете выполнить функции базы данных, используя расширение PDO отдельно; Вы должны использовать определенный для базы данных драйвер PDO, чтобы обратиться к серверу базы данных.

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

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

DSN - Имя источника данных для MySQL

Имя источника данных PDO_MYSQL (DSN) требуется как первый параметр конструктора, при создании нового объекта класса PDO, оно составлено из следующих элементов:

DSN prefix - Приставка DSN например "mysql:" или "mysqli"

host - Имя хоста, на котором находится сервер базы данных.

port - Номер порта,  сервера базы данных.

dbname - Имя базы данных.

unix_socket - Сокет Unix MySQL (не должен использоваться с хостом или портом).

charset - Кодировка. До PHP 5.3.6, был тихо проигнорирован этот элемент. То же самое поведение может быть частично реализовано  с  применением атрибута PDO:: MYSQL_ATTR_INIT_COMMAND при создании объекта PDO как в  примере ниже.

Предупреждение: метод  ниже может использоваться только с кодировками, которые разделяют то же самое или более низкое представление на 7 битов как ASCII, например, ISO-8859-1 и UTF-8. Пользователи, использующие кодировки, у которых есть различные представления (например, UTF-16 или Big5), должны использовать параметр DSN: charset, предоставленный в PHP 5.3.6  и более поздних версиях.

Пример: Установка UTF-8 кодировки подключения до PHP 5.3.6


<?php
 $dsn = 'mysql:host=localhost;dbname=testdb';   $username = 'имя пользователя';
 $password = 'пароль';
 $options = array( PDO:: MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
 $dbh = new PDO ($dsn, $username, $password, $options);
?>

Ещё варианты строки подключения:

mysql:host=localhost;port=3307;dbname=testdb
mysql:unix_socket=/tmp/mysql.sock;dbname=testdb

Добавить комментарий


Защитный код
Обновить



Кто на сайте
Сейчас 80 гостей онлайн