PHP MySQL 更新记录2025 年 5 月 15 日 | 阅读 4 分钟 使用 PHP 更新 MySQL 数据库中的记录是动态 Web 内容管理中的一项标准过程。尽管早期版本的 PHP 使用 mysql_query() 函数进行数据库操作,但该函数在 PHP 5.5 中已被弃用,并在 PHP 7.0 中完全移除。 如今,鼓励开发人员使用 MySQLi 或 PDO (PHP Data Objects) 来安全高效地完成数据库功能。替代方案是:
UPDATE 语句语法注意:省略 WHERE 子句将更新表中的所有记录,这通常是意外造成的,有时甚至具有破坏性。示例 在我们执行更新之前,假设 emp1 表包含以下数据 表:emp1(更新前)
|
输出
Connected successfully Record updated successfully
表(emp1):更新记录后
ID | 名称 | 薪金 |
---|---|---|
1 | Alice | 7000 |
2 | John | 9000 |
3 | Samuel | 8000 |
说明
本示例展示了与 MySQL 数据库的连接,并修改了 emp1 表中 id = 2 记录的 name 和 salary 列。如果更新成功,将打印一条确认消息。否则,将引发错误消息。
示例
在运行更新查询之前,假设数据表中存在以下数据
表: data(更新前)
ID | 名称 | 年龄 |
---|---|---|
200 | Michael | 26 |
201 | Rachel | 27 |
202 | Thomas | 25 |
输出
Record was updated successfully.
表:data(更新后)
ID | 名称 | 年龄 |
---|---|---|
200 | Michael | 26 |
201 | Rachel | 28 |
202 | Thomas | 25 |
说明
这是面向对象的 MySQLi 方法更新记录的示例。它会更改 data 表中 id = 201 的行的 Age 列的内容。该脚本在执行更新查询之前建立数据库连接,并据此提供反馈。
在运行 PDO 更新之前,假设 data 表包含
表:data(更新前)
ID | 名称 | 年龄 |
---|---|---|
200 | Michael | 26 |
201 | Rachel | 24 |
202 | Thomas | 25 |
输出
Record was updated successfully.
表:data(更新后)
ID | 名称 | 年龄 |
---|---|---|
200 | Michael | 26 |
201 | Rachel | 27 |
202 | Thomas | 25 |
说明
此代码使用 PDO 访问数据库并执行更新语句。它将错误模式配置为抛出异常,这有助于调试。成功更新后,将显示成功消息;否则,将显示异常消息。
示例
在运行更新之前,假设 data 表包含
表:data(更新前)
ID | 名字 | 姓氏 | 年龄 |
---|---|---|---|
200 | Alice | 棕色 | 29 |
201 | John | Doe | 27 |
202 | 艾米丽 | Clark | 26 |
输出
Record updated successfully.
表:data(更新后)
ID | 名字 | 姓氏 | 年龄 |
---|---|---|---|
200 | Alice | 棕色 | 29 |
201 | 山姆 | Smith | 30 |
202 | 艾米丽 | Clark | 26 |
说明
本示例展示了如何在一次查询中修改多个字段。它会更改 data 表中 id = 201 的行的 FirstName、LastName 和 Age 列。连接通过过程式 MySQLi 方法进行管理。
在 PHP 中,更新记录时使用 MySQL,因此请始终在 WHERE 子句前加上代码,以免意外覆盖所有行。在处理用户输入时,使用预处理语句也是一个好习惯,可以防止您的数据库发生 SQL 注入。在使用查询之前,请检查和清理您的数据。
如果您只处理 MySQL 数据库,请使用 MySQLi;如果您处理其他数据库,请使用 PDO。无论您使用哪种方法,启用错误处理将有助于您在开发过程中发现问题,并使您的应用程序更可靠。
MySQLi 和 PDO 扩展都支持通过 PHP 在 MySQL 数据库中更新数据的基本操作。MySQLi 支持过程式和面向对象风格,而 PDO 提供了更灵活和安全的方式,尤其是在使用多种数据库类型时。通过遵守最佳实践并选择正确的方法,开发人员可以有效地处理 PHP 应用程序中的数据库更新。
我们请求您订阅我们的新闻通讯以获取最新更新。