PHP Data Objects
# PHP Data Objects

PHP Data Objects (o PDO-) es una extensión que provee una capa de abstracción de acceso a datos para PHP 5, con lo cual se consigue hacer uso de las mismas funciones para hacer consultas y obtener datos de distintos manejadores de bases de datos.

## Historia

Empezó a desarrollarse en 2003 tras unas reuniones en LinuxTag. Fue considerada experimental hasta PHP 5.0 (en el cual está disponible como una extensión PECL); a partir de PHP 5.1 se considera estable y la interfaz viene incluida por defecto.

Está implementada con tecnología orientada a objetos. La conexión a una base de datos se realiza creando una instancia de la clase base PDO. Algunos métodos son: prepare, execute, exec, beginTransaction, bindParam, commit.

## Controladores

Los siguientes controladores actualmente implementan la interfaz PDO:

* PDO_DBLIB: FreeTDS / Microsoft SQL Server / Sybase
* PDO_FIREBIRD: Firebird / Interbase 6
* PDO_IBM: IBM DB2
* PDO_INFORMIX: IBM Informix Dynamic Server
* PDO_SQLSRV: Microsoft SQL Server
* PDO_MYSQL: MySQL 3.x/4.x/5.x
* PDO_OCI: Oracle Call Interface
* PDO_ODBC: ODBC v3 (IBM DB2, unixODBC y win32 ODBC)
* PDO_PGSQL: PostgreSQL
* PDO_SQLITE: SQLite 3 y SQLite 2

De las mencionadas, PDO_DBLIB, PDO_FIREBIRD y PDO_OCI son consideradas experimentales y su comportamiento puede variar en nuevas versiones. La última versión de PDO_SQLSRV se encuentra en Microsoft Drivers for PHP for SQL Server 2.0.1.

