Eliminar con PHP PDO: Descargar Ejemplo completo
Eliminar con PHP PDO. Para realizar la eliminación tenemos que tener una conexión exitosa con la base de batos MySQL, esto puede ser mediante una declaración interna o una declaración externa usando un archivo de PHP. Por ejemplo en este artículo lo llamaremos BDconect.php
. Este archivo, será el encargado de realizar la conexión con MySQL.
En este tutorial veremos de cómo eliminar filas de una base de datos MySQL usando la extensión PDO de PHP. Sin embargo, la eliminación de registro será con la ID de un registro específica.
Pasos para eliminar registros de PHP PDO
Para eliminar datos en una tabla en la base de datos MySQL de una aplicación PHP, usaremos los siguientes pasos:
- Conectarse a la base de datos con PDO PHP.
- Generar la consulta SQL
- Prepare una consulta DELETE para su ejecución.
- Pasar los valores a la instrucción utilizando el método bindParam().
- Declarar el método
execute()
del objeto PDO para ejecutar la instrucción delete. - Invocar al método
rowCount()
de PDO para obtener la fila eliminada o respuesta.
¿Es recomendable la eliminación usando PDO?
La respuesta es un sí, es muy recomendable porque es robusto y seguro. Además, de estar a la vanguardia de la tecnología. Si deseamos un sistema más seguro y compacto PDO es la solución para estos inconvenientes.
PROCESO PASO A PASO: Eliminar con PHP PDO
1) Escriba la instrucción delete:
Es una consulta estándar y muy común, solo que se han reemplazado los valores por marcadores de posición con nombre.
$consulta = "DELETE FROM `tbl_personal` WHERE `id`=:id";
En el código anterior, un registro se eliminará de la tabla en función del número de identificación almacenado en la variable $id
. También podemos eliminar más registros que coincidan con una condición.
2) Preparar la consulta:
En esta parte tenemos que preparar una sentencia para su ejecución, usaremos PREPARE y la consulta SQL frecuente.
$sql = $connect-> prepare($consulta);
3) Enlazar los parámetros:
Debemos ejecutar una sentencia preparada con parámetros de cambio de nombre y devuelve TRUE en caso de éxito o FALSE en caso de algún error.
$sql -> bindParam(':id', $id, PDO::PARAM_INT);
4) Defina los valores enlazados:
Asignamos variables para recoger la información enviada por el formulario o información estática si amerita el caso
$id=trim($_POST['id']);
5) Ejecute la consulta:
La función execute para ejecutar la consulta.
$sql->execute();
6) Comprobar la consulta:
Debemos de verificar el estado de la consulta y que los registros se han eliminado correctamente de la base de datos. Para mostrar el mensaje de error, modificaremos la consulta anterior de esta manera.
if($sql->rowCount() > 0) { $count = $sql -> rowCount(); echo "<div class='content alert alert-primary' > Gracias: $count registro ha sido eliminado </div>"; } else{ echo "<div class='content alert alert-danger'> No se pudo eliminar el registro </div>"; print_r($sql->errorInfo()); }
Todo el código junto ahora:
Aquí le mostraremos el código completo del ejemplo.
<?php if(isset($_POST['eliminar'])){ ////////////// Elimianr registro de la tabla ///////// $consulta = "DELETE FROM `tbl_personal` WHERE `id`=:id"; $sql = $connect-> prepare($consulta); $sql -> bindParam(':id', $id, PDO::PARAM_INT); $id=trim($_POST['id']); $sql->execute(); if($sql->rowCount() > 0) { $count = $sql -> rowCount(); echo "<div class='content alert alert-primary' > Gracias: $count registro ha sido eliminado </div>"; } else{ echo "<div class='content alert alert-danger'> No se pudo eliminar el registro </div>"; print_r($sql->errorInfo()); } }// Cierra envio de guardado ?>
CONCLUSIÓN: Eliminar con PHP PDO
Recordemos que el uso del PDO es muy imprescindible si deseamos tener un sistema compacto y seguro. Su uso es muy recomendado.
Además, su uso reemplaza los valores por marcadores de posición con nombre, esto nos previene de una inyección SQL que podamos sufrir al verificar los datos enviados por el formulario HTML5.