PHP 连接 MySQL 基本操作:连接、查询与数据交互
本文详解 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'] . ' ' . $row['name'] . ' ' . $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 数据库教程的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









