PDO

Hola amigos, bienvenidos a un nuevo tutorial de la sección de PHP, en esta ocasión iremos un poco mas halla en el desarrollo de aplicaciones web con PHP, incluyendo funciones con bases de datos (MYSQL) utilizando PHP Data Objects o como comúnmente se le llama (PDO), con el fin de realizar un CRUD (Create, Read, Update, Delete), Las acciones primordiales de todo proyecto web, así que para empezar definamos PDO:

PHP DATA OBJECTS es una interfaz ligera y consistente para acceder a bases de datos desde PHP haciendo uso de la programación orientada a objetos y está disponible desde la versión 5 de este lenguaje, realizando una instancia de PDO podemos contar con métodos como: prepare, execute, exec, beginTransaction, bindParam, commit.

Para realizar nuestro ejemplo de CRUD, debemos crear una base de datos, la cual llamaré: clientes, y crearé una tabla: registros. la cual contara con las columnas: id, nombres, apellidos, ocupacion. y por supuesto debemos tener nuestro servidor PHP ejecutandose, si aun no lo tienes puedes descargarte XAMPP o WAMP con lo cual podrás poner en marcha tu servidor sin inconvenientes.

Aquí el script de nuestra tabla:

[cc lang=»sql»]
CREATE TABLE `registros`( `id` INT(10) NOT NULL AUTO_INCREMENT,
`nombres` VARCHAR(20),
`apellidos` VARCHAR(20),
`ocupacion` VARCHAR(60),
PRIMARY KEY (`id`) );
[/cc]

O bien si usan un IDE para mysql como SQLYog o NAVICAT pueden realizar esta acción mucho más rápido, ahora crearemos creamos una carpeta en la raiz de nuestro servidor (Ejemplo en XAMPP) «C:\xampp\htdocs\ejercicio» en donde crearemos todos nuestros archivos:
Carpetas
Creando nuestro conexion.php:
[cc lang=»php»]
< ?php function Conectar (){ $conn = null; $host = '127.0.0.1'; $db = 'clientes'; $user = 'root'; $pwd = 'root'; try { $conn = new PDO('mysql:host='.$host.';dbname='.$db, $user, $pwd); } catch (PDOException $e) { echo 'No se pudo conectar a la base de datos !!'; exit; } return $conn; } ?>
[/cc]
Recuerden llenar la tabla con registros para poder consultarlos, si deseas saber como realizar tal acción visita nuestra sección de mysql
Consultando registros (READ) read.php:
[cc lang=»php»]
< ?php require("conexion.php"); $con = Conectar(); $sql = "SELECT nombres, apellidos, ocupacion FROM registros"; $stmt = $con->prepare($sql);
$results = $stmt->execute();
$rows = $stmt->fetchAll(\PDO::FETCH_OBJ);
foreach ($rows as $row) {
print($row->nombres);
print($row->apellidos);
print($row->ocupacion).»
«;
}
?>
[/cc]
Creando un registro (CREATE) create.php:
[cc lang=»php»]
< ?php require("conexion.php"); $nombres='IVAN'; $apellidos = 'LOPEZ'; $ocupacion = 'DEVELOPER'; $con = Conectar(); $sql = "INSERT INTO registros(nombres,apellidos,ocupacion) VALUES (:nombres, :apellidos, :ocupacion)"; $stmt = $con->prepare($sql);
$stmt->bindParam(‘:nombres’, $nombres, PDO::PARAM_STR);
$stmt->bindParam(‘:apellidos’, $apellidos, PDO::PARAM_STR);
$stmt->bindParam(‘:ocupacion’, $ocupacion, PDO::PARAM_STR);
$stmt->execute();
?>
[/cc]
Actualizando un registro (UPDATE) update.php:
[cc lang=»php»]
< ?php require("conexion.php"); $id='1'; $nombres='IVAN'; $apellidos = 'LOPEZ'; $ocupacion = 'DEVELOPER'; $con = Conectar(); $sql = "UPDATE registros SET nombres=:nombres, apellidos=:apellidos, ocupacion =:ocupacion WHERE id=:id"; $stmt = $con->prepare($sql);
$stmt->bindParam(‘:nombres’, $nombres, PDO::PARAM_STR);
$stmt->bindParam(‘:apellidos’, $apellidos, PDO::PARAM_STR);
$stmt->bindParam(‘:ocupacion’, $ocupacion, PDO::PARAM_STR);
$stmt->bindParam(‘:id’, $id, PDO::PARAM_STR);
$stmt->execute();
?>
[/cc]
Eliminando un registro (DELETE) delete.php:
[cc lang=»php»]
< ?php require("conexion.php"); $id='5'; $con = Conectar(); $sql = "DELETE FROM registros WHERE id=:id"; $stmt = $con->prepare($sql);
$stmt->bindParam(‘:id’, $id, PDO::PARAM_INT);
$stmt->execute();
?>
[/cc]

Como pueden ver hemos realizado nuestro crud de manera muy sencilla, para verificar la funcionalidad de cada fichero solo basta con hacer el correspondiente llamado a cada ruta de archivo en nuestro navegador: http://127.0.0.1/ejercicio/read.php en este caso obtenemos como salida:
read
cabe recordar que los parámetros que hemos ocupado para enviar en nuestras consultas los hemos estipulado dentro de cada script, normalmente estos parámetros son obtenidos mediante peticiones $_GET o $_POST que veremos claramente en otro articulo en el cual también añadiremos el front end de la aplicación.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

×