跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

PHP 读写数据库的基本流程说明

PHP读写数据库核心是连接、执行SQL、处理结果、释放资源,推荐PDO/MySQLi并用预处理防注入;需异常捕获、字符集设置、参数绑定、fetch模式选择及显式置null释放资源。 PHP 读写数据库的核心是建立连接、发送 SQL 语句、处理结果、最后关闭资源。现代推荐使用 PDO 或 MySQLi,它们支持预处理语句,能有效防止 SQL 注入。 1. 建立数据库连接 以 PDO 为例,需提供 DSN(数据源名称)、用户名和密码。连接失败时应捕获异常,避免暴露敏感信息。 DSN 格式通常为:
mysql:host=localhost;dbname=testdb;charset=utf8mb4
开启异常模式:
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
,让错误抛出异常而非静默失败 连接后可设置默认字符集,避免中文乱码 2. 执行写操作(INSERT/UPDATE/DELETE) 使用预处理语句绑定参数,不拼接字符串。即使数据来自可信来源,也应统一用占位符。 准备语句:
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (?, ?)")
执行并传参:
$stmt->execute(['张三', 'zhang@example.com'])
获取影响行数:
$stmt->rowCount()
可判断是否成功插入 3. 执行读操作(SELECT)并获取结果 查询返回的是结果集对象,需调用方法提取数据。根据需求选择 fetch 模式(如关联数组、索引数组或对象)。 PHP 8.5.5 PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。 下载 立即学习 “ PHP免费学习笔记(深入) ”; 单行数据:
$row = $stmt->fetch(PDO::FETCH_ASSOC)
多行数据:
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC)
只取一列值(如统计总数):
$count = $stmt->fetchColumn()
4. 关闭连接与资源清理 PDO 连接在 PHP 脚本结束时会自动释放,但显式置为 null 可提前释放资源,尤其在长脚本或循环中。
$stmt = null;
—— 释放语句句柄
$pdo = null;
—— 断开数据库连接 不需要手动调用 close(),PDO 对象销毁即断开 不复杂但容易忽略:每次数据库操作都应有错误处理,哪怕只是记录日志;所有外部输入必须通过参数绑定,绝不直接拼进 SQL 字符串。

相关文章