使用PDO可安全操作多种数据库,需创建PDO对象并设置异常模式;通过预处理语句执行查询、插入、更新、删除,防止SQL注入;支持事务确保原子性;注意错误处理与参数绑定。

PHP中使用PDO(PHP Data Objects)进行数据库操作是一种灵活且安全的方式。它支持多种数据库,如MySQL、PostgreSQL、SQLite等,并提供统一的接口来执行SQL语句。下面介绍PDO的基础语法和常用操作实例。
连接数据库
使用PDO连接数据库时,需要创建一个PDO对象,传入数据源名称(DSN)、用户名和密码。
DSN包含数据库类型、主机、端口、数据库名等信息建议开启错误模式为异常模式,便于调试
示例:连接MySQL数据库
$host = 'localhost';$db = 'test_db';$user = 'root';$pass = 'password';$charset = 'utf8mb4';$dsn = "mysql:host=$host;dbname=$db;charset=$charset";$options = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, // 开启异常PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, // 默认关联数组返回PDO::ATTR_EMULATE_PREPARES => false, // 禁用预处理模拟];
try {$pdo = new PDO($dsn, $user, $pass, $options);} catch (PDOException $e) {throw new PDOException($e->getMessage(), (int)$e->getCode());}
执行SQL语句
PDO提供了多种方法执行SQL,包括查询、插入、更新和删除。
立即学习“PHP免费学习笔记(深入)”;
1. 查询数据(SELECT)
使用query()或prepare()+execute()方式获取结果。
// 方法一:简单查询$stmt = $pdo->query('SELECT * FROM users');while ($row = $stmt->fetch()) { echo $row['name'] . "
";}// 方法二:预处理查询(推荐,防SQL注入)$stmt = $pdo->prepare('SELECT * FROM users WHERE id = ?');$stmt->execute([1]);$user = $stmt->fetch();
// 按字段名绑定参数$stmt = $pdo->prepare('SELECT * FROM users WHERE email = :email');$stmt->execute([':email' => 'test@example.com']);$users = $stmt->fetchAll();
2. 插入数据(INSERT)
使用预处理语句插入数据,避免拼接SQL。
$stmt = $pdo->prepare('INSERT INTO users (name, email) VALUES (?, ?)');$stmt->execute(['张三', 'zhangsan@example.com']);// 获取最后插入的ID$userId = $pdo->lastInsertId();
3. 更新数据(UPDATE)
$stmt = $pdo->prepare('UPDATE users SET name = ? WHERE id = ?');$stmt->execute(['李四', 1]);
4. 删除数据(DELETE)
$stmt = $pdo->prepare('DELETE FROM users WHERE id = ?');$stmt->execute([1]);
事务处理
当多个操作需要保证原子性时,使用事务。
try { $pdo->beginTransaction();$pdo->exec("UPDATE accounts SET balance = balance - 100 WHERE user_id = 1");$pdo->exec("UPDATE accounts SET balance = balance + 100 WHERE user_id = 2");$pdo->commit();
} catch (Exception $e) {$pdo->rollback();throw $e;}
常见注意事项
始终使用预处理语句防止SQL注入不要直接拼接用户输入到SQL中合理设置错误模式,开发环境建议开启异常查询大量数据时可使用逐行读取避免内存溢出
基本上就这些。掌握PDO的基础用法后,可以更安全高效地操作数据库。不复杂但容易忽略的是错误处理和参数绑定细节。
以上就是PHPPDO怎么使用_PHPPDO数据库操作的基础语法与实例的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1337561.html
微信扫一扫
支付宝扫一扫