UPDATE PHP Y MySQLi: Concepto con ejemplos
UPDATE PHP Y MySQLi. Es una sentencia muy usada en los diversos gestores de Base de Datos, en este tutorial nos enfocaremos en el gestor MySQL. La instrucción UPDATE se utiliza para alterar o modificar los registros existentes en una tabla que quizá al momento de guardar nos olvidamos de corregir algo. Esta sentencia se utiliza necesariamente con la cláusula WHERE para decirle que registro se desea modificar, mediante si identificador.
UPDATE PHP Y MySQLi: Concepto con ejemplos
La sintaxis básica de la sentencia UPDATE le mostraremos aqui:
UPDATE table_name SET column1=value, column2=value2,... WHERE column_name=id_value
Ahora ya tenemos definido esta instrucción que como verán podemos editar cuantas columnas queramos alterar, todo mediante su ID. Un ejemplo UPDATE se ejecutará de la misma manera esta vez el SQL tiene una cláusula WHERE para identificar el registro a modificar, caso contrario sin declarar Where modificaría toda la tabla.
Ejemplo #01 Actualización de registros con UPDATE
Necesitaremos varios elementos.
- Una Tabla en nuestra base de datos.
- Tabla con registros previamente llenados.
- PHP como intermediario para realizar la conexión con Mysql.
- Instrucciones para la realización de los cambios con la clausula WHERE.
Tabla: Personas +----+------------+-----------+----------------------+ | id | nombres | apellidos | email | +----+------------+-----------+----------------------+ | 1 | Pedro | Flores | pedroflores@mail.com | | 2 | Juan | Camacho | juancamacho@mail.com | | 3 | Jose | Morales | josemorales@mail.com | | 4 | Mario | Hart | mariohart@mail.com | | 5 | Luisa | ponti | miguelluisa@mail.com | +----+------------+-----------+----------------------+
El código PHP en el ejemplo actualizará el correo electrónico de Jose en la tabla de personas cuyo id es igual a 3.
<?php /* MySQL Conexion*/ $link = mysqli_connect("localhost", "root", "root", "demoDB"); // Chequea coneccion if($link === false){ die("ERROR: No pudo conectarse con la DB. " . mysqli_connect_error()); } // Ejecuta la actualizacion del registro $sql = "UPDATE personas SET email='josem_nuevo@mail.com' WHERE id=3"; if(mysqli_query($link, $sql)){ echo "Registro actualizado."; } else { echo "ERROR: No se ejecuto $sql. " . mysqli_error($link); } // Cierra la conexion mysqli_close($link); ?>
Después de ejecutar la sentencia UPDATE la tabla sufrira los siguientes cambios de acuerdo a la id declarada en WHERE de nuestra consulta:
Tabla: Personas +----+------------+-----------+----------------------+ | id | nombres | apellidos | email | +----+------------+-----------+----------------------+ | 1 | Pedro | Flores | pedroflores@mail.com | | 2 | Juan | Camacho | juancamacho@mail.com | | 3 | Jose | Morales | josem_nuevo@mail.com | | 4 | Mario | Hart | mariohart@mail.com | | 5 | Luisa | ponti | miguelluisa@mail.com | +----+------------+-----------+----------------------+
Ejemplo #02 Actualizar datos MySQL
$stmt = $mysqli->prepare("UPDATE peliculas SET peliculaName = ?, peliculaDescription = ?, peliculaImage = ?, peliculaPrice = ?, peliculaReview = ? WHERE peliculaID = ?"); $stmt->bind_param('sssdii', $_POST['peliculaName'], $_POST['peliculaDescription'], $_POST['peliculaImage'], $_POST['peliculaPrice'], $_POST['peliculaReview'], $_POST['peliculaID']); $stmt->execute(); $stmt->close();
Espero que esta breve explicación les haya servido, saludos y no se olviden de suscribirse para nuevos artículos.
Referencia
Hola Nestor Tapia,
También tengo una consulta para solucionar este problema. Cómo se haría para actualizar un campo definido por cierta letra, a la siguiente letra (de un patrón ya definido), dependiendo de la letra que contenga el campo. Por ejemplo el cambio o patrón de letras es el siguiente: Si el campo se encuentra en ‘P’ cambia a ‘C’, si ‘C’ cambia a ‘A’, si ‘A’ cambia a ‘T’, si ‘T’ cambia a ‘E’, y por último, si es ‘E’ no se realiza una actualización. Primero realice una consulta para que me dé los campos diferentes de ‘E’, pero como se haría la clausula UPDATE para actualizar dependiendo del valor del campo?
Saludos, y muchas gracias de antemano.
muchas gracias por publicar este tutorial, me sirvió de mucho y de verdad muchas gracias saludos.
Gracias a ti Yahir, saludos
Arrastrar y soltar imágenes con MySQL PHP y Ajax
https://www.baulphp.com/download/arrastrar-y-soltar-imagenes-con-mysql/
me ayudan con el link de descarca o el codigo de esto de antemano gracias
Buenas. Tengo una consulta. Como se haría para actualizar un campo numérico al que se le va incrementando el valor. Por ejemplo un campo de kilómetros. Hay que hacer primero una consulta para obtener el valor del campo kilómetros y luego se le suman los nuevos kilómetros y se hace el UPDATE? O se puede añadir la suma directamente al campo kilómetros en el propio UPDATE sin hacer una consulta previa?
Gracias de antemano.
Hola David,
Primeramente se tendria que obtener el id del registro y el campo a sumar, luego agregarle el valor sumado en una variable.
Por las dos opciones que mencionas se podria hacer, pero si deseas hacer la suma en el update igual tendrias que hacer un select dentro de la clausula UPDATE, haciendo uso de una subconsulta, ejemplo:
UPDATE facturas SET base_imponible =
( SELECT sum( precio ) total_calculado
FROM factura_detalle
WHERE num_factura = '12')
WHERE num_factura = '12';