PHP ha desarrollado una interfaz que permite el acceso a diversas bases de datos, denominada PDO. Es una capa de abstracción para el acceso a los datos, con lo cual se puede acceder con los mismos métodos a través las bases de datos que pueda manejar PDO.
Conexión a MySQL
Para conectar a la base de datos MySQL necesitamos instanciar un objeto PDO
try { $conexion = new PDO('mysql:host=localhost;dbname=clientes', 'usuario', 'pass'); $query = $conexion->query('SELECT id, usuario FROM usuarios'); forech ($query as $fila) { echo 'ID=', $fila['id'], ' USUARIO=', $fila['usuario'], '
'; // Imprimirá registro por registro de la tabla usuarios, // mostrando los campos id y usuario. } } catch (Exception $e) { echo 'No se pudo conectar a la base de datos: ', $e->getMessage(); }
Con el comando query
podemos ejecutar las acciones CRUD e incluso modificación de la estructura de la base de datos. Se retorna por defecto, un objeto PDOStatement si no hay problema en la ejecución, y un false en caso que exista un error.
Con el comando exec
se pueden realizar, de igual manera, estas acciones. La diferencias son: Se retorna un entero con la representación de las filas afectadas y la otra es que exec no es útil para leer datos (SELECT). Sin embargo, es de tener en cuenta que al utilizar parámetros debe realizarse el debido tratamiento a los valores para evitar una inyección de SQL.
Prepared Statement
A excepción de query y exec, con un prepared statement, solamente es necesario una sola preparación (parseo) de los valores dentro de una consulta. Este proceso de preparación utiliza recursos de la base de datos, ya que se analiza, compila y optimiza su plan de ejecución. Con esto un prepared statement utiliza menos recursos que sus contrapartes.
Por otro lado no necesita