PHP文件如何操作MySQL数据库
PHP通过内置的MySQLi或PDO扩展来操作MySQL数据库,实现数据的增删改查等核心功能,这两种方式均支持面向对象和面向过程的编程风格,开发者可根据项目需求灵活选择。
连接MySQL数据库
在操作数据库前,必须先建立连接,以下是使用MySQLi和PDO的示例:

MySQLi连接方式
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";
// 创建连接(面向对象)
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
?>
PDO连接方式
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "myDB";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接成功";
} catch(PDOException $e) {
echo "连接失败: " . $e->getMessage();
}
?>
执行SQL查询操作
创建数据表
// 使用MySQLi
$sql = "CREATE TABLE Users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
email VARCHAR(50)
)";
if ($conn->query($sql) === TRUE) {
echo "数据表创建成功";
}
插入数据
插入数据时务必使用预处理语句防止SQL注入:
// 使用MySQLi预处理
$stmt = $conn->prepare("INSERT INTO Users (name, email) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $email);
$name = "张三";
$email = "zhangsan@example.com";
$stmt->execute();
查询数据
$sql = "SELECT id, name, email FROM Users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"]. " - 姓名: " . $row["name"];
}
}
更新数据
$sql = "UPDATE Users SET email='new@example.com' WHERE id=1";
if ($conn->query($sql) === TRUE) {
echo "记录更新成功";
}
删除数据
$sql = "DELETE FROM Users WHERE id=1";
if ($conn->query($sql) === TRUE) {
echo "记录删除成功";
}
安全注意事项
- 始终使用预处理语句处理用户输入,这是防止SQL注入的最有效方法
- 对数据库连接信息进行保密,不要将包含密码的文件提交到版本库
- 设置合适的数据库用户权限,遵循最小权限原则
- 及时关闭数据库连接:
$conn->close();
MySQLi与PDO的选择建议
- MySQLi:仅支持MySQL数据库,性能稍优,提供面向对象和面向过程两种接口
- PDO:支持多种数据库,更具可移植性,统一的API接口
对于新项目,推荐使用PDO扩展,因为它提供更好的数据库抽象层和更一致的错误处理机制。
错误处理
良好的错误处理能帮助快速定位问题:
// PDO错误处理
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// MySQLi错误处理
if (!$conn->query($sql)) {
echo "错误: " . $conn->error;
}
通过掌握这些基本操作,您已经能够使用PHP文件有效地操作MySQL数据库,在实际开发中,建议进一步学习使用ORM(对象关系映射)工具或查询构建器,以提高开发效率和代码可维护性。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/16190.html发布于:2026-09-11





