加入收藏 | 设为首页 | 会员中心 | 我要投稿 92站长网 (https://www.92zhanzhang.com/)- 视觉智能、智能语音交互、边缘计算、物联网、开发!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP PDO数据库连接与基础操作速成指南

发布时间:2025-09-13 16:17:18 所属栏目:PHP教程 来源:DaWei
导读: 在现代Web开发中,PHP凭借其灵活性与广泛的数据库支持,依旧占据重要地位。而PDO(PHP Data Objects)作为PHP内置的数据库抽象层,提供统一接口,兼容多种数据库系统,是实现安全、高效数据库操作的理想选择。

在现代Web开发中,PHP凭借其灵活性与广泛的数据库支持,依旧占据重要地位。而PDO(PHP Data Objects)作为PHP内置的数据库抽象层,提供统一接口,兼容多种数据库系统,是实现安全、高效数据库操作的理想选择。


要使用PDO,第一步是建立数据库连接。以MySQL为例,需准备DSN(数据源名称)、用户名与密码。DSN包含数据库类型、主机名、端口及数据库名。示例代码如下:


```php
try {

AI渲染图,仅供参考

$dsn = 'mysql:host=localhost;dbname=testdb;charset=utf8mb4';
$opt = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION];
$pdo = new PDO($dsn, 'username', 'password', $opt);
} catch (PDOException $e) {
die('数据库连接失败: ' . $e->getMessage());
}
```


上述代码中,`ATTR_ERRMODE`设置为`ERRMODE_EXCEPTION`,确保PDO在出错时抛出异常,便于错误追踪与处理。


数据库连接成功后,便可执行查询操作。使用`query()`方法可直接执行SQL语句,获取结果集。例如查询用户表中所有数据:


```php
$stmt = $pdo->query('SELECT id, name, email FROM users');
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo $row['name'] . ' - ' . $row['email'] . '
';
}
```


若需执行带参数的SQL语句,应使用预处理语句防止SQL注入攻击。PDO提供`prepare()`与`execute()`方法实现此功能。例如插入新用户:


```php
$stmt = $pdo->prepare('INSERT INTO users (name, email) VALUES (?, ?)');
$stmt->execute(['张三', 'zhangsan@example.com']);
```


对于更新与删除操作,同样建议使用预处理方式。例如根据用户ID更新邮箱:


```php
$stmt = $pdo->prepare('UPDATE users SET email = ? WHERE id = ?');
$stmt->execute(['newemail@example.com', 1]);
```


查询单条记录时,可使用`fetch()`方法获取关联数组或对象。若需获取所有结果,可使用`fetchAll()`方法,并指定返回类型:


```php
$stmt = $pdo->prepare('SELECT FROM users WHERE id = ?');
$stmt->execute([1]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);
```


PDO还支持事务处理,适用于需多个操作同时成功或失败的场景。启用事务后,所有更改将暂存,直至调用`commit()`确认,或`rollBack()`回滚:


```php
try {
$pdo->beginTransaction();
$pdo->exec('UPDATE accounts SET balance = balance - 100 WHERE id = 1');
$pdo->exec('UPDATE accounts SET balance = balance + 100 WHERE id = 2');
$pdo->commit();
} catch (Exception $e) {
$pdo->rollBack();
echo '事务执行失败: ' . $e->getMessage();
}
```


总结而言,PDO为PHP开发者提供了一套简洁、安全、高效的数据库操作接口。熟练掌握其连接配置、查询执行、预处理与事务机制,是构建稳定Web应用的关键基础。

(编辑:92站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章