怎样对 Get 方式实现 PDO 参数化查询
时间: 2023-12-24 18:05:04 浏览: 22
要对 GET 方式实现 PDO 参数化查询,需要将 GET 参数作为绑定参数传递给 PDO prepare 方法。以下是一个示例代码:
```php
<?php
// 假设 GET 请求中有两个参数 name 和 age
$name = $_GET['name'];
$age = $_GET['age'];
// 建立 PDO 连接
$dsn = 'mysql:host=localhost;dbname=test';
$username = 'username';
$password = 'password';
$options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);
$dbh = new PDO($dsn, $username, $password, $options);
// 编写 SQL 查询语句并使用 prepare 方法进行参数化
$sql = 'SELECT * FROM users WHERE name = :name AND age = :age';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':age', $age);
// 执行查询并获取结果
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
// 输出结果
print_r($results);
?>
```
在上面的代码中,我们首先获取了 GET 请求中的两个参数 name 和 age,然后建立了一个 PDO 连接。接着,我们编写了一个 SQL 查询语句,其中使用了两个命名占位符 :name 和 :age。我们使用 PDO 的 prepare 方法对 SQL 查询语句进行参数化,并将 GET 参数绑定到占位符上。最后,我们执行了查询并输出了结果。
值得注意的是,我们在绑定参数时使用了 bindParam 方法,这个方法可以将变量绑定到占位符上。这种方式比直接将变量嵌入 SQL 查询语句要更安全,因为可以避免 SQL 注入等安全问题。