文章标题: PHP PDO函数库详解
PDO介绍
PDO是PHP官方推荐的关系型数据库访问抽象层,全称为PHP Data Object。它为PHP开发者提供了一种简单的、一致的接口连接各种不同的数据库,并且可以使用相同的函数进行数据库操作。
PDO支持多种常见的数据库(如MySQL、PostgreSQL、Oracle、SQL Server等),并且支持预处理语句,使用PDO可以提高我们的代码质量与性能。
PDO连接
连接数据库使用 PDO
构造函数,语法如下:
try {
$pdo = new PDO('dsn', 'username', 'password', $option);
// 其他操作
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
dsn
: 标准的数据库源名称,代表需要连接的数据库种类和位置,通常由驱动名称、主机名、端口号、数据库名称构成。username
: 数据库用户名。password
: 数据库密码。$option
: 连接选项,可以是一个数组,里面包含键值对,例如 setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION) 可以设置抛出异常。
示例:
$dsn = 'mysql:host=localhost;dbname=test';
$username = 'root';
$password = '123456';
$options = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
);
try {
$pdo = new PDO($dsn, $username, $password, $options);
echo 'Database connected successfully';
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
PDO查询
PDO支持执行各种类型的查询语句,包括SELECT、INSERT、UPDATE、DELETE等。
在PDO中查询语句可以使用两种方法:
- PDO::query
- PDO::prepare 和PDOStatement::execute
PDO::query
PDO::query 方法执行一个SQL查询并返回 PDOStatement 对象(返回一个结果集对象)。语法如下:
$result = $pdo->query($sql);
$sql
: 要执行的SQL语句。
一般来说,PDO::query 方法只适用于不需要占位符的查询,不能防范SQL注入攻击。
示例:
$sql = "SELECT * FROM `users` WHERE `name` = '张三'";
$result = $pdo->query($sql);
while ($row = $result->fetch()) {
echo $row['name'] . '-' . $row['age'];
}
PDO::prepare 和PDOStatement::execute
PDO::prepare 方法会编译SQL语句并返回一个 PDOStatement 对象,它可以实现预处理,可以使用占位符防范SQL注入攻击。语法如下:
$stmt = $pdo->prepare($sql);
PDOStatement::execute 方法执行准备语句并将占位符替换成执行中提供的真实值。语法如下:
$stmt->execute($params);
$params
: 可选参数,它是一个关联数组,其中的键是占位符名字,对应的值是真实值。
示例:
$sql = "SELECT * FROM `users` WHERE `name` = :name";
$stmt = $pdo->prepare($sql);
$stmt->execute(array('name' => '张三'));
$result = $stmt->fetchAll();
foreach ($result as $row) {
echo $row['name'] . '-' . $row['age'];
}
以上就是PHP PDO函数库的基本介绍和连接、查询的示例代码。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP PDO函数库详解 - Python技术站