详解PHP中的PDO类

发布时间:2026-10-03 03:34:35 浏览次数:3

详解PHP中的PDO类

简介

PDO(PHP Data Object)是PHP中的一个数据库抽象层,提供了面向对象的操作数据库的方式,可以支持多种数据库。PDO类是PHP对数据库进行操作的一个核心类。

PDO类的初始化

使用PDO时需要先初始化,初始化后可以操作数据库。PDO的初始化需要指定数据库类型、主机(或IP地址)、数据库名、用户名、密码。下面是一个示例:

$host = 'localhost';$dbname = 'mydatabase';$username = 'myuser';$password = 'mypassword';// 初始化 PDOtry {    $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);    // 设置 PDO 错误模式为异常    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);    echo "PDO 连接成功!";}catch(PDOException $e) {    echo "PDO 连接失败: " . $e->getMessage();}

PDO类的基本操作

PDO类提供了一些基本操作方法,包括插入数据、查询数据、更新数据、删除数据。下面是一些示例。

插入数据

// 在 mytable 表中插入一条数据$pdo->exec("INSERT INTO mytable (name, age) VALUES ('John', 25)");// 在 mytable 表中插入一条数据,并获取插入后的自增ID$sql = "INSERT INTO mytable (name, age) VALUES ('Mary', 30)";$pdo->exec($sql);$insert_id = $pdo->lastInsertId();

查询数据

// 查询 mytable 表中所有数据并输出$result = $pdo->query("SELECT * FROM mytable");foreach($result as $row) {    echo $row['name'] . "  " . $row['age'] . "<br>";}// 通过预处理查询 mytable 表中年龄大于 18 的记录$age = 18;$stmt = $pdo->prepare('SELECT * FROM mytable WHERE age > :age');$stmt->bindParam(':age', $age);$stmt->execute();$result = $stmt->fetchAll();foreach($result as $row) {    echo $row['name'] . "  " . $row['age'] . "<br>";}

更新数据

// 将 mytable 表中名称为 John 的记录的年龄更新为 30$pdo->exec("UPDATE mytable SET age = 30 WHERE name = 'John'");// 通过预处理将 mytable 表中名称为 Mary 的记录的年龄更新为 35$name = 'Mary';$age = 35;$stmt = $pdo->prepare('UPDATE mytable SET age = :age WHERE name = :name');$stmt->bindParam(':name', $name);$stmt->bindParam(':age', $age);$stmt->execute();

删除数据

// 将 mytable 表中名称为 John 的记录删除$pdo->exec("DELETE FROM mytable WHERE name = 'John'");// 通过预处理将 mytable 表中名称为 Mary 的记录删除$name = 'Mary';$stmt = $pdo->prepare('DELETE FROM mytable WHERE name = :name');$stmt->bindParam(':name', $name);$stmt->execute();

总结

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477