Eliminar Datos en MySQL desde PHP
En este tutorial aprenderás cómo eliminar datos de una base de datos MySQL utilizando PHP y la extensión mysqli
.
¿Por qué eliminar datos desde PHP?
Eliminar datos es una operación común cuando deseas remover información obsoleta o incorrecta de tu base de datos. En este caso, vamos a eliminar un registro de la tabla usuarios
identificado por su id
.
¿Cómo eliminar datos en MySQL desde PHP?
Para eliminar datos de la base de datos, utilizamos el comando DELETE
. A continuación, te mostramos cómo hacerlo de manera sencilla y segura utilizando la extensión mysqli
en su modalidad orientada a objetos.
Paso 1: Crear el archivo de conexión
Primero, debes asegurarte de tener tu archivo de conexión a la base de datos configurado correctamente, como en los ejemplos anteriores. Supongamos que ya tienes tu archivo conexion.php
.
Paso 2: Eliminar los datos de la base de datos
Ahora vamos a eliminar un usuario de la tabla usuarios
usando el id
del usuario como identificador. Supongamos que queremos eliminar al usuario cuyo id
es 3.
$servidor = "localhost";
$usuario = "root";
$contrasena = "";
$base_de_datos = "mi_base_de_datos";
$conexion = new mysqli($servidor, $usuario, $contrasena, $base_de_datos);
if ($conexion->connect_error) {
die("Conexión fallida: " . $conexion->connect_error);
}
$id_usuario = 3;
$consulta = "DELETE FROM usuarios WHERE id = $id_usuario";
if ($conexion->query($consulta) === TRUE) {
echo "Registro eliminado exitosamente";
} else {
echo "Error: " . $consulta . "
" . $conexion->error;
}
$conexion->close();
En este código, estamos utilizando el comando DELETE
para eliminar un usuario de la tabla usuarios
cuyo id
es igual a 3. Si la consulta se ejecuta correctamente, se mostrará el mensaje "Registro eliminado exitosamente". Si ocurre algún error, se mostrará el mensaje de error correspondiente.
Paso 3: Verificación de eliminación
Después de ejecutar la consulta, verificamos si la eliminación fue exitosa utilizando el método query()
. Si la consulta se ejecuta correctamente, muestra el mensaje de éxito. Si hay algún error, se muestra el mensaje de error detallado.
Importante: Evitar Inyecciones SQL
Al igual que en las operaciones de inserción y actualización, es fundamental evitar las inyecciones SQL. El código anterior es vulnerable, ya que insertamos directamente las variables en la consulta. A continuación, te mostramos cómo hacerlo de manera más segura utilizando **sentencias preparadas**.
$stmt = $conexion->prepare("DELETE FROM usuarios WHERE id = ?");
$stmt->bind_param("i", $id_usuario);
$id_usuario = 3;
if ($stmt->execute()) {
echo "Registro eliminado exitosamente";
} else {
echo "Error: " . $stmt->error;
}
$stmt->close();
$conexion->close();
En este ejemplo, usamos una sentencia preparada para prevenir inyecciones SQL. Utilizamos el método bind_param()
para vincular el parámetro de la consulta de manera segura, evitando así que datos maliciosos se inyecten en la consulta SQL.
Paso 4: Cerrar la conexión
Al igual que en los otros ejemplos, después de realizar la operación de eliminación, es recomendable cerrar la sentencia preparada y la conexión a la base de datos:
$stmt->close();
$conexion->close();
¿Qué sigue después?
Ahora que sabes cómo eliminar datos de una base de datos MySQL, puedes hacer cosas como:
- Verificar si el registro existe antes de intentar eliminarlo.
- Eliminar múltiples registros utilizando condiciones más complejas en la consulta
DELETE
. - Automatizar la eliminación de datos en base a criterios específicos (por ejemplo, eliminar registros antiguos de una base de datos).
Conclusión
Eliminar datos de una base de datos MySQL desde PHP es una operación sencilla, pero requiere precaución para evitar problemas de seguridad. En este tutorial, aprendiste cómo hacerlo de manera segura utilizando PHP y MySQL. ¡Ahora puedes empezar a gestionar y eliminar datos de tu base de datos de manera efectiva!