fbpx

PDO, Objetos de Datos de PHP (PDO por sus siglás en inglés) define una interfaz ligera para poder acceder a bases de datos en PHP.

Cada controlador de bases de datos que implemente la interfaz de Objetos de Datos de PHP puede exponer características específicas de la base de datos, como las funciones habituales de la extensión. Se ha de observar que no se puede realizar ninguna de las funciones de las bases de datos utilizando la extensión por sí misma; se debe utilizar un controlador de PDO específico de la base de datos para tener acceso a un servidor de bases de datos.

PDO proporciona una capa de abstracción de acceso a datos, lo que significa que, independientemente de la base de datos que se esté utilizando, se emplean las mismas funciones para realizar consultas y obtener datos. PDO no proporciona una abstracción de bases de datos; no reescribe SQL ni emula características ausentes. Se debería usar una capa de abstracción totalmente desarrollada si fuera necesaria tal capacidad.

Clases fundamentales del Objetos de Datos de PHP

Se fundamenta en 3 clases: PDOPDOStatement y PDOException.

La clase PDO se encarga de mantener la conexión a la base de datos y otro tipo de conexiones específicas como transacciones, además de crear instancias de la clase PDOStatement.

Es ésta clase, PDOStatement, la que maneja las sentencias SQL y devuelve los resultados.

La clase PDOException se utiliza para manejar los errores.

El primer argumento de la clase PDO es el DSNData Source Name, en el cual se han de especificar

el tipo de base de datos (mysql), el host (localhost) y el nombre de la base de datos (se puede especificar también el puerto).

Diferentes sistemas de bases de datos tienen distintos métodos para conectarse. La mayoría se conectan de forma parecida a como se conecta a MySQL:

try {
    $dsn = "mysql:host=localhost;dbname=$dbname";
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e){
    echo $e->getMessage();
}

Hay un curso en el cual se explica completamente desde cero el uso de la extension PDO, puedes ver el curso en este enlace, ver curso