Tutorial PHP PDO

Tutorial PHP PDO
La base de datos es una parte muy importante de cualquier aplicación web para almacenar y recuperar los datos de la aplicación. Se puede acceder a la base de datos de múltiples maneras en PHP. PDO y MySQLI son las extensiones de PHP para acceder a las bases de datos utilizando PHP. El PDO (PHP Data Objects) se introduce primero en PHP versión 5.1 para hacer la conexión con la base de datos para realizar los diferentes tipos de tareas de la base de datos. Proporciona una interfaz liviana para acceder a la base de datos a través de un script PHP. PDO no proporciona la abstracción de datos de la base de datos, pero se puede acceder a los datos desde múltiples bases de datos utilizando PDO más fácilmente utilizando PDO. La mayoría de las bases de datos populares son compatibles con PDO como MySQL, SQLite, Oracle, MS SQL Server, PostgreSQL, etc. Los beneficios de usar PDO, la diferencia entre PDO y MySQLI, y la forma de conectar y acceder a la base de datos MySQL usando PDO se describen en este tutorial.

Beneficios de PDO

Algunos beneficios de usar PDO para acceder a las bases de datos se mencionan a continuación:

  • Existen muchas funciones auxiliares en PDO para automatizar los diferentes tipos de tareas de desarrollo.
  • Proporciona seguridad de los piratas informáticos que usan declaraciones preparadas al acceder a los datos desde la base de datos.
  • Contiene mejores características de manejo de errores para manejar los diferentes tipos de errores de manera más eficiente.
  • Se puede acceder a varias bases de datos utilizando la API unificada de PDO.

Diferencias entre PDO y mysqli

PDO Mysqli
Funciona de manera orientada a objetos. Puede funcionar de manera orientada a objetos y de procedimiento.
Admite muchos controladores de bases de datos. Apoya solo a MySQL.
Admite la declaración preparada del lado del cliente. No admite la declaración preparada del lado del cliente.
Es más seguro que mysqli. Es menos seguro que PDO.
Admite los parámetros nombrados. No admite los parámetros nombrados.

Crea la base de datos MySQL

Ejecute el siguiente comando SQL para crear una base de datos llamada "prueba"Para verificar los usos de PDO para realizar los diferentes tipos de tareas de base de datos:

Crear prueba de base de datos;

Crear una mesa

Ejecute el siguiente comando SQL para crear una tabla llamada "libros" dentro de "prueba"Base de datos:

Crear libros de mesa (
ID int (255) no nula clave primaria auto_increment,
Título Varchar (150) no nulo,
Autor Varchar (150) no nulo
) Motor = innodb;

Hacer una conexión de base de datos usando PDO

Cree un archivo PHP con el siguiente script que realice la conexión con el "prueba"Base de datos con PDO:

// Inicializar las variables de conexión
$ hostname = "localhost";
$ database = "test";
$ user = "root";
$ contraseña = "12345";
intentar

// Crear conexión de base de datos usando PDO
$ db_connection = new PDO ("mysql: host = $ hostname; dbname = $ database", $ user, $ contraseña);

Catch (excepción $ E) $ Declaración-> Ejecutar ([[
// Mensaje de error de impresión
Echo "No se puede conectar con la base de datos." . $ e-> getMessage ();

?>

Inserte una fila en una tabla

Cree un archivo PHP con el siguiente script que inserta un registro en el libros tabla utilizando una conexión PDO. El archivo de conexión de la base de datos se incluye al comienzo del script utilizando la función incluir_once (). Se crea una declaración preparada para la consulta de insertos para insertar un nuevo registro en la tabla.

// crear una conexión de base de datos
include_once 'pdo_connect.php ';
// Establecer valores para insertar un registro en la tabla de libros
$ title = 'La alegría de la programación PHP: una guía para principiantes';
$ autor = 'Alan Forbes';
// Establecer la consulta de inserción
$ query = 'insertar en libros (id, título, autor) Valores (: id,: título,: autor)';
// Crear declaración preparada
$ Datado = $ db_connection-> preparar ($ consulta);
// ejecutar la consulta de inserción
$ Datado-> ejecutar ([[
': id' => nulo,
': título' => $ Título,
': autor' => $ autor
]);
echo 'un registro se inserta con éxito';
?>

Producción:
La siguiente salida aparece después de ejecutar el script anterior si se inserta un nuevo registro correctamente:

Seleccione Datos de una tabla

Cree un archivo PHP con el siguiente script que seleccione todos los registros de la libros tabla utilizando una conexión PDO. El archivo de conexión de la base de datos se incluye al comienzo del script utilizando la función incluir_once (). Se crea una declaración preparada para una consulta selecta para leer todos los registros de la tabla.

// crear una conexión de base de datos
include_once 'pdo_connect.php ';
// Establecer la consulta para leer todos los registros
$ QUERY = 'SELECCIONAR * DE LAS LIBROS';
// Crear declaración preparada
$ Datado = $ db_connection-> QUERY ($ QUIERY);
// Lea todos los registros de la tabla de libros
$ books = $ statado-> fetchall (pdo :: fetch_assoc);
if ($ books)
// iterar e imprimir cada registro de la tabla
foreach ($ libros como $ libro)
eco "Nombre del libro: ".$ Libro ['Título']] . "
";
eco "Nombre del autor: ".$ libro ['autor'] . "
";

Producción:
La siguiente salida aparece después de ejecutar el script anterior si la tabla contiene un registro:

Actualizar los datos de la tabla

Cree un archivo PHP con el siguiente script que actualiza un registro del libros tabla utilizando una conexión PDO. El archivo de conexión de la base de datos se incluye al comienzo del script utilizando la función incluir_once (). Se crea una declaración preparada para una consulta de actualización para actualizar un registro de la tabla de libros que contiene el valor de identificación de 1.

// crear una conexión de base de datos
include_once 'pdo_connect.php ';
// Establecer nuevos valores para actualizar
$ libro = [
'id' => 1,
'Title' => 'Php & Mysql Novice to Ninja',
'Autor' => 'Kevin Yank'
];
// Establecer la consulta de actualización
$ query = "Actualizar libros
Establecer título =: título, autor =: autor
Donde id =: id ";
// Crear declaración preparada
$ Datado = $ db_connection-> preparar ($ consulta);
// Atar parámetros para la declaración preparada
$ Datado-> bindParam (': id', $ book ['id'], pdo :: param_int);
$ Declaración-> bindParam (': title', $ book ['title']);
$ Datado-> bindParam (': autor', $ book ['autor']);
// ejecutar la consulta de actualización
if ($ statado-> ejecute ())
echo 'La información del libro se ha actualizado.';

Producción:
La siguiente salida aparece después de ejecutar el script anterior si el registro de la tabla se actualiza correctamente:

Eliminar una fila de la mesa

Cree un archivo PHP con el siguiente script que elimina un registro de la libros tabla utilizando una conexión PDO. El archivo de conexión de la base de datos se incluye al comienzo del script utilizando la función incluir_once (). Se crea una declaración preparada para la consulta de eliminación para eliminar un registro de la tabla de libros que contiene el valor de identificación de 1.

// crear una conexión de base de datos
include_once 'pdo_connect.php ';
// Establecer consultas para eliminar
$ query = 'Eliminar de los libros donde id =: id';
$ id = 1;
// establecer la declaración de preparación
$ Datado = $ db_connection-> preparar ($ consulta);
$ Datado-> bindParam (': id', $ id, pdo :: param_int);
// Ejecutar la consulta de eliminación
if ($ statado-> ejecute ())
se ha eliminado un registro de echo.';

Producción:
La siguiente salida aparece después de ejecutar el script anterior si el registro de la tabla se elimina correctamente:

Conclusión

En este tutorial se muestran diferentes características de PDO y la forma de usar PDO para hacer conexiones de bases de datos e implementar la operación CRUD creando la base de datos MySQL con una tabla.