Actualizar Datos en MySQL desde PHP
En este tutorial aprenderás cómo actualizar datos en una base de datos MySQL utilizando PHP y la extensión mysqli
.
¿Por qué actualizar datos desde PHP?
Actualizar datos es una operación común en las aplicaciones web cuando necesitamos cambiar información existente en una base de datos. Por ejemplo, puedes actualizar los detalles de un usuario, como su nombre o correo electrónico.
¿Cómo actualizar datos en MySQL desde PHP?
Para actualizar datos en la base de datos, utilizamos el comando UPDATE
. Aquí 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, necesitas crear el archivo de conexión a la base de datos, como se mostró en el tutorial anterior. Supongamos que ya tienes tu archivo conexion.php
configurado correctamente.
Paso 2: Actualizar los datos en la base de datos
Ahora te mostramos cómo actualizar los datos de un usuario en la tabla usuarios
. Supongamos que quieres actualizar el nombre y correo electrónico de un usuario específico, identificado por su id
.
$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 = 1; // ID del usuario que queremos actualizar
$nuevo_nombre = "Juan Pérez Gómez";
$nuevo_email = "juanperezgomez@example.com";
// Consulta para actualizar los datos
$consulta = "UPDATE usuarios SET nombre = '$nuevo_nombre'
WHERE id = $id_usuario";
if ($conexion->query($consulta) === TRUE) {
echo "Registro actualizado exitosamente";
} else {
echo "Error: " . $consulta . "<br>" . $conexion->error;
}
$conexion->close();
En este código, estamos actualizando el nombre y el correo electrónico de un usuario cuyo id
es 1. Utilizamos la consulta UPDATE
para modificar los valores en la base de datos.
Paso 3: Verificación de actualización
Después de ejecutar la consulta, verificamos si la actualización fue exitosa utilizando el método query()
. Si la consulta se ejecuta correctamente, mostrará el mensaje "Registro actualizado exitosamente". Si ocurre algún error, el mensaje de error correspondiente será mostrado.
Importante: Evitar Inyecciones SQL
Al igual que con la inserción de datos, es fundamental prevenir 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 usando **sentencias preparadas**.
$stmt = $conexion->prepare("UPDATE usuarios SET nombre = ?, email = ? WHERE id = ?");
$stmt->bind_param("ssi", $nuevo_nombre, $nuevo_email, $id_usuario);
$nuevo_nombre = "Juan Pérez Gómez";
$nuevo_email = "juanperezgomez@example.com";
$id_usuario = 1; // ID del usuario a actualizar
if ($stmt->execute()) {
echo "Registro actualizado exitosamente";
} else {
echo "Error: " . $stmt->error;
}
$stmt->close();
$conexion->close();
En este ejemplo, usamos una sentencia preparada para prevenir inyecciones SQL. Usamos el método bind_param()
para vincular las variables a la consulta de manera segura, evitando así que los datos maliciosos se inyecten en la consulta.
Paso 4: Cerrar la conexión
Después de realizar la actualización, siempre es una buena práctica cerrar la conexión a la base de datos para liberar los recursos. Asegúrate de cerrar tanto la sentencia preparada como la conexión:
$stmt->close();
$conexion->close();
¿Qué sigue después?
Ahora que sabes cómo actualizar datos en una base de datos MySQL desde PHP, puedes explorar más operaciones, como:
- Insertar datos con el comando
INSERT
. - Eliminar datos con el comando
DELETE
. - Realizar validaciones de los datos antes de actualizar.
Conclusión
Actualizar datos en una base de datos MySQL es una operación esencial en el desarrollo de aplicaciones web dinámicas. En este tutorial, aprendiste cómo hacerlo de manera sencilla y segura utilizando PHP y MySQL. ¡Ahora puedes empezar a trabajar con datos en tiempo real y hacer que tu aplicación sea interactiva y dinámica!