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.
Empezó a desarrollarse en 2003 tras unas reuniones en LinuxTag.[1] 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.
La extensión PHP Data Objects (PDO) define una interfaz ligera y consistente para acceder a bases de datos en PHP. Cada driver de bases de datos que implementa la interfaz PDO puede exponer características específicas de la base de datos como funciones de extensión regulares.Manual de PHP 5
Los siguientes controladores actualmente implementan la interfaz PDO:
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.