PHP文件如何操作MySQL数据库

PHP通过内置的MySQLi或PDO扩展来操作MySQL数据库,实现数据的增删改查等核心功能,这两种方式均支持面向对象和面向过程的编程风格,开发者可根据项目需求灵活选择。

连接MySQL数据库

在操作数据库前,必须先建立连接,以下是使用MySQLi和PDO的示例:

php文件如何操作mysql,高效操作MySQL的PHP文件指南

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 "记录删除成功";
}

安全注意事项

  1. 始终使用预处理语句处理用户输入,这是防止SQL注入的最有效方法
  2. 对数据库连接信息进行保密,不要将包含密码的文件提交到版本库
  3. 设置合适的数据库用户权限,遵循最小权限原则
  4. 及时关闭数据库连接:$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