English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico de PHP

Tutorial avanzado de PHP

PHP & MySQL

Manual de referencia de PHP

UPDATE en PHP

En este tutorial, aprenderás a usar PHP para actualizar los registros en las tablas de MySQL.

Actualizar los datos de la tabla de la base de datos

UPDATELa sentencia se utiliza para cambiar o modificar los registros existentes en las tablas de bases de datos. Esta sentencia se utiliza generalmente junto con la cláusula WHERE para aplicar los cambios solo a los registros que coinciden con ciertas condiciones.

UPDATE语句的基本语法可以通过以下方式给出:

UPDATE table_name SET column1=value, column2=value2,... WHERE column_name=some_value

让我们使用UPDATE语句和WHERE子句进行一个SQL查询,然后通过将其传递给PHP mysqli_query()函数来执行此查询,以更新表记录。请考虑演示数据库中的以下persons表:

+----+------------+-----------+----------------------+
| id | first_name | last_name | email |
+----+------------+-----------+----------------------+
|  1 | Peter | Parker | [email protected] |
|  2 | John | Rambo | [email protected] |
|  3 | Clark | Kent | [email protected] |
|  4 | John | Carter | [email protected] |
|  5 | Harry | Potter | [email protected] |
+----+------------+-----------+----------------------+

下面示例中的PHP代码将更新persons表中id等于1的人的电子邮件地址。

示例:面向过程方式

<?php
/*Intentar conexión al servidor MySQL. Suponiendo que está ejecutando MySQL.
Servidor con configuración predeterminada (usuario sin contraseña "root") */
$link = mysqli_connect("localhost", "root", "", "demo");
 
//检查连接
if($link === false) {
    die("错误:无法连接。 ". mysqli_connect_error());
}
 
//Intentar actualizar ejecución de consulta
$sql = "UPDATE persons SET email='[email protected]' WHERE id=1";
if(mysqli_query($link, $sql)){
    echo "Registro actualizado con éxito.";
} else {
    echo "错误:无法执行 $sql ". mysqli_error($link);
}
 
//Cerrar conexión
mysqli_close($link);
?>

示例:面向对象方式

<?php
/*Intentar conexión al servidor MySQL. Suponiendo que está ejecutando MySQL.
Servidor con configuración predeterminada (usuario sin contraseña "root") */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
//检查连接
if($mysqli === false) {
    die("错误:无法连接。 ". $mysqli->connect_error);
}
 
//Intentar actualizar ejecución de consulta
$sql = "UPDATE persons SET email='[email protected]' WHERE id=1";
if($mysqli-query($sql) === true) {
    echo "Registro actualizado con éxito.";
} else{}}
    echo "Error: No se puede ejecutar $sql. ". $mysqli->error;
}
 
//Cerrar conexión
$mysqli->close();
?>

Ejemplo: Método PDO

<?php
/*Intentar conexión al servidor MySQL. Suponiendo que está ejecutando MySQL.
Servidor con configuración predeterminada (usuario sin contraseña "root") */
try{
    $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", "");
    //Establecer el modo de error de PDO en excepción
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
    die("Error: No se puede conectar. ". $e->getMessage());
}
 
//Intentar actualizar ejecución de consulta
try{
    $sql = "UPDATE persons SET email='[email protected]' WHERE id=1";    
    $pdo->exec($sql);
    echo "Registro actualizado con éxito.";
} catch(PDOException $e){
    die("Error: No se puede ejecutar $sql. ". $e->getMessage());
}
 
//Cerrar conexión
unset($pdo);
?>

Después de la actualización, la tabla persons se mostrará así:

+----+------------+-----------+--------------------------+
| id | first_name | last_name | email |
+----+------------+-----------+--------------------------+
|  1 | Peter | Parker | [email protected] |
|  2 | John | Rambo | [email protected] |
|  3 | Clark | Kent | [email protected] |
|  4 | John | Carter | [email protected] |
|  5 | Harry | Potter | [email protected] |
+----+------------+-----------+--------------------------+

Advertencia:La cláusula WHERE de la sentencia UPDATE especifica qué registros deben actualizarse. Si se omite la cláusula WHERE, se actualizarán todos los registros.