PDO: otra modo de acceder a tus bases de datos

Septiembre 2017



Introducción

¿Qué es PDO?


PDP (PHP Data Objects) es una extensión PHP que define una interfaz de acceso a una base de datos. De algún modo cumple la misma función que las funciones mysql_connect, mysql_query, ...
PDP viene incluido en PHP desde su versión 5.1. Para la versión 5.0 puedes obtenerlo con la extensión PECL.

¿Cuál es su ventaja en relación a las funciones mysql_...?


Su principal ventaja es que permite una abstracción para el acceso a datos.
Es decir que las funciones para realizar consultas y para obtener datos son las mismas en cualquier servidor SQL utilizado (MySQL, PostgreSQL, ...). Por ejemplo, si pasas de MySQL a PostegreSQL, no necesitas transformar todo tu código como con las funciones mysql_ (mysql_connect sería reemplazado por pgsql_connect, mysql_query por pgsql_query, ...).

Pero como cada servidor SQL no ejecuta las consultas SQL de la misma manera, es posible que tengas que volver a escribir algunas consultas.

PDO es también orientado a objetos, por lo que podrás extenderlo y administrar los errores con las excepciones

Conectarte a tu servidor SQL


Es la parte más sencilla.
Observa este código:
<?php
$pdo = new PDO('mysql:host=localhost;dbname=tu_base', 'usuario', 'contraseña');
?>

Lo que está subrayado es lo que puedes modificar.
  • "mysql" es el nombre del controlador utilizado. Si utilizas PostegreSQL, éste será pgsql. Para los otros, haz clic Aquí
  • "localhost" es el host SQL. Es el primer argumento que se ingresa en la funcion mysql_connect
  • "tu_base": es el nombre de tu base de datos. Es lo que pones en mysql_select_db.
  • "usuario": el nombre del usuario
  • "contraseña": tu contraseña

Ejecutar una consulta sin retorno


Una consulta sin retorno viene a ser una consulta que no devuelve datos. Por ejemplo, las consultas que eliminan, modifican o insertan datos. Las consultas que devuelven datos son las que comienzan con "SELECT ...".

Para este tipo de consultas, es preferible utilizar el método exec(), que devuelve el numero de línea afectada.

Por ejemplo:
<?php
require 'sqlconnect.php';

$sql = 'DELETE FROM accouns WHERE type = "member"';
$nb = $pdo->exec($sql);

echo $nb.' miembros han sido eliminados.';
?>

En este ejemplo, eliminamos todas las cuentas del tipo "miembro" (por lo tanto se conservan los "administradores" y los "modo"). Como puedes apreciar, la variable $nb contiene el número de líneas afectadas (en este caso eliminadas) mediante la consulta.

Consulta también

Publicado por Carlos-vialfa. Última actualización: 19 de mayo de 2010 a las 23:02 por Carlos-vialfa.
El documento «PDO: otra modo de acceder a tus bases de datos» se encuentra disponible bajo una licencia Creative Commons. Puedes copiarlo o modificarlo libremente. No olvides citar a CCM (es.ccm.net) como tu fuente de información.