PHP 连接 MySQL 基本操作:连接、查询与数据交互

听雨眠
听雨眠
发布时间:2026-10-13 | 4人浏览过
原创

本文详解 PHP 操作 MySQL 数据库的基础方法与核心流程,涵盖环境设置、建立数据库连接、执行查询语句及释放资源等关键步骤,并提供标准代码模板供参考。

准备条件:环境配置

在进行数据库操作前,确保已安装支持 MySQL 扩展的 PHP 环境,且目标数据库服务正常运行。建议将项目文件编码统一设置为 UTF-8,以支持中文数据的正确存储与显示。

设置 Zend 软件所有 UTF-8 编码

针对单个项目的配置文件或新建文档时,同样需要确认其字符集为 UTF-8。

设置单个项目 UTF-8 的编码

第 1 步:建立数据库连接

目的:验证服务器可达性,获取连接句柄以便后续操作。
注意:原生 mysql_* 函数已在 PHP 7.0+ 中被移除,实际开发中推荐使用 PDO 或 mysqli 扩展。以下示例保留原逻辑意图,但展示现代推荐的写法。

首先定义数据库常量参数,便于统一管理配置信息:

<?php
// 定义数据库连接常量
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PWD', 'your_password');
define('DB_NAME', 'school');

// 使用 PDO 连接数据库(推荐方式)
try {
    $conn = new PDO(
        "mysql:host=DB_HOST;dbname=DB_NAME;charset=utf8mb4",
        DB_USER,
        DB_PWD,
        [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
        ]
    );
    echo "数据库连接成功!";
} catch (PDOException $e) {
    die('数据库连接失败: ' . $e->getMessage());
}
?

若沿用旧版逻辑(仅用于理解原意),核心步骤为:
1. mysql_connect():尝试连接服务器。
2. mysql_select_db():指定操作的数据库名称。
3. mysql_query('SET NAMES UTF8'):设置通信字符集。

第 2 步:执行查询操作

目的:向数据库发送 SQL 指令并获取结果。
入口:通过连接对象执行 SQL 字符串。

以下示例演示如何查询 grade 表中的数据:

<?php
require 'config.php'; // 引入包含连接逻辑的配置项

// 构建查询语句
$query = "SELECT id, name, email FROM grade";

// 执行查询
$result = $conn->query($query);

if ($result->rowCount() > 0) {
    // 遍历结果集
    while ($row = $result->fetch()) {
        echo $row['id'] . '&nbsp;&nbsp;' . $row['name'] . '&nbsp;&nbsp;' . $row['email'] . '<br/>';
    }
} else {
    echo "未找到相关记录。";
}
?

常用数据处理函数说明

  • mysql_fetch_array() / $result->fetch():从结果集中提取一行数据,可作为数组或对象访问。
  • mysql_num_rows() / $result->rowCount():获取查询结果集的总行数。
  • mysql_field_name():获取字段名称(在 PDO/MySQLi 中通常通过元数据获取)。

第 3 步:数据修改与删除

目的:更新或删除数据库中的现有记录。
风险提醒:涉及删除操作前,请务必核对 WHERE 条件,以免误删数据。建议在测试环境中先备份数据库。

示例代码展示了插入和更新的操作逻辑:

<?php
// 新增数据示例
$insertQuery = "INSERT INTO grade (name, email, point) VALUES (?, ?, ?)";
$stmt = $conn->prepare($insertQuery);
$stmt->execute(['景临境', 'jly@163.com', 78]);

// 修改数据示例
$updateQuery = "UPDATE grade SET point = ? WHERE id = ?";
$stmt = $conn->prepare($updateQuery);
$stmt->execute([66, 7]); // 将ID为7的记录分数改为66
?

完成判断与资源释放

完成状态:页面无报错输出,且数据库中的增删改查操作符合预期。
释放资源:PHP 脚本执行完毕后会自动关闭连接。但在长生命周期应用中(如 CLI 脚本),应手动显式关闭:

<?php
$conn = null; // 关闭 PDO 连接
?> 

此外,可通过以下信息验证连接状态:
- mysql_get_server_info():获取服务器版本信息。
- mysql_get_client_info():获取客户端库版本信息。

简要总结

PHP 操作 MySQL 的核心在于“连接 - 查询 - 处理”这一闭环。现代开发应摒弃已过时的 mysql_* 系列函数,转而采用面向对象的 PDO 或 mysqli 扩展,并利用预处理语句(Prepared Statements)来防范 SQL 注入攻击。通过规范化的配置管理与错误处理机制,可以显著提升 Web 应用的数据层稳定性与安全性。以上就是 PHP 连接 MySQL 基本操作与注意事项的详细内容,更多关于 PHP 数据库教程的资料请关注本站其它相关文章!

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表