PHP PDO 基础教程:安装配置与常用操作指南
PHP的PDO(PHP Data Objects)是统一访问数据库的强大工具。本教程指导用户完成PDO的环境配置,并演示如何建立数据库连接、执行增删改查操作以及获取数据结果。
PDO 环境配置
PDO 自 PHP 5 起被整合为核心功能,替代了过去繁复的各类数据库扩展(如 php_mysql.dll)。正确安装和配置驱动是使用 PDO 的前提。
第一步:修改扩展目录路径
打开 PHP 配置文件 php.ini,查找并修改 extension_dir 参数,使其指向正确的扩展库目录。
extension_dir = "C:/php5/ext"
注:具体路径需根据服务器的 PHP 安装实际位置进行调整。
第二步:加载 PDO 驱动
在 php.ini 中找到 “Dynamic Extensions” 部分,取消注释或添加以下行以开启所需的数据库驱动:
; Dynamic Extensions
extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
可根据需求添加其他驱动(如 MS SQL Server、ODBC 等),无需使用的驱动建议保留分号注释以免报错。配置完成后,重启 Web 服务器(IIS 或 Apache)使配置生效。
第三步:验证安装
在 Web 根目录下创建测试文件 phpinfo.php,写入:<?php phpinfo(); ?>。在输出页面中搜索 “PDO”,若看到 PDO support enabled 且下方列出了各驱动的说明,则表明安装成功。
PDO 基础操作
PDO 连接数据库主要依赖数据源名称(DSN)来指定数据库类型、主机和名称。以下以 MySQL 为例进行说明。
建立连接与执行查询
使用 new PDO() 构造函数创建实例。第一个参数为 DSN 字符串,后续为用户名和密码。
$dsn = "mysql:host=localhost;dbname=test";
$db = new PDO($dsn, 'root', '');
// 执行插入操作,返回影响行数
$count = $db->exec("INSERT INTO foo SET name='heiyeluren', gender='男', time=NOW()");
echo $count;
$db = null; // 关闭连接释放资源
若需使用长连接,可在第三个参数后追加数组:array(PDO::ATTR_PERSISTENT => true)。
数据提取技巧
对于 SELECT 语句,PDO 提供了多种方式来获取和处理结果集。
遍历读取
可以使用 query() 直接返回结果集并进行迭代,或者先赋值给变量再循环:
// 方式一:直接迭代
foreach($db->query("SELECT * FROM foo") as $row) {
print_r($row);
}
// 方式二:while循环
$rs = $db->query("SELECT * FROM foo");
while($row = $rs->fetch()) {
print_r($row);
}
获取完整数组
若要将所有数据一次性存入数组,可使用 fetchAll():
$rs = $db->query("SELECT * FROM foo");
$result_arr = $rs->fetchAll();
print_r($result_arr);
优化数据格式
默认情况下,fetchAll() 会同时包含数字索引和关联索引,造成冗余。建议使用 setFetchMode() 指定仅获取关联数组:$rs->setFetchMode(PDO::FETCH_ASSOC)。也可以通过 setAttribute() 控制列名的大小写形式(如 PDO::CASE_LOWER)。
单字段统计
在执行统计类查询(如 COUNT(*))时,推荐使用 fetchColumn() 直接提取第一行的第一个字段值:
$rs = $db->query("SELECT COUNT(*) FROM foo");
$col = $rs->fetchColumn();
echo $col;
进阶功能简述
- 预处理(Prepared Statements): 使用
prepare()处理可带参数的 SQL 语句,配合execute()绑定参数运行。这能有效防止 SQL 注入并提升重复执行的效率。 - 自动增长 ID: 使用
$db->lastInsertId()获取最后一次插入操作生成的主键 ID。 - 受影响的行数:
rowCount()主要用于DELETE、UPDATE后的结果确认,对SELECT的支持视数据库驱动而定。
以上就是 PDO 基础配置与入门用法的详细内容,更多关于 PHP 数据库开发的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













