English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, aprenderás a usar PHP para actualizar los registros en las tablas de MySQL.
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(); ?>
<?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.