<?php
try {
// 数据库连接信息
$host = 'localhost';
$dbname = 'testdb';
$username = 'root';
$password = 'password';
// 创建 PDO 实例
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
// 设置 PDO 错误模式为异常
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// 准备 SQL 查询
$stmt = $pdo->prepare("SELECT * FROM users WHERE age > :age");
// 绑定参数
$minAge = 18;
$stmt->bindParam(':age', $minAge, PDO::PARAM_INT);
// 执行查询
$stmt->execute();
// 获取结果
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
// 输出结果
foreach ($results as $row) {
echo "ID: " . $row['id'] . ", Name: " . $row['name'] . ", Age: " . $row['age'] . "<br>";
}
} catch(PDOException $e) {
echo "数据库连接失败: " . $e->getMessage();
}
?>
上述代码展示了使用PHP PDO连接MySQL数据库的完整过程,包括:
1. 创建PDO实例并设置字符集
2. 设置错误处理模式为异常
3. 使用预处理语句查询年龄大于18的用户
4. 绑定参数并执行查询
5. 处理查询结果
6. 异常处理机制
使用预处理语句可以有效防止SQL注入攻击,提高数据库操作的安全性。