怎样对 Get 方式实现 PDO 参数化查询?
时间: 2023-12-03 22:47:15 浏览: 79
使用 PDO 进行参数化查询时,可以使用占位符 :name 或 ? 来代替实际的参数值。对于 GET 方式,可以使用 $_GET 数组来获取 URL 中的参数值,然后将其与 SQL 查询语句中的占位符进行绑定,最后执行查询并返回结果集。
下面是一个示例代码:
```
<?php
// 建立 PDO 连接
$dsn = 'mysql:host=localhost;dbname=test';
$username = 'root';
$password = '';
$options = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
);
$dbh = new PDO($dsn, $username, $password, $options);
// 准备查询语句
$sql = 'SELECT * FROM users WHERE name = :name';
// 绑定参数
$name = $_GET['name'];
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':name', $name, PDO::PARAM_STR);
// 执行查询
$stmt->execute();
// 获取结果
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
// 输出结果
echo json_encode($result);
?>
```
在上面的代码中,首先建立了与数据库的连接。然后,使用 PDO::prepare() 方法准备了查询语句,并使用 PDOStatement::bindParam() 方法将占位符 :name 绑定到 $_GET['name'] 变量上。最后,使用 PDOStatement::execute() 方法执行查询,并使用 PDOStatement::fetchAll() 方法获取结果集。最后,将结果集以 JSON 格式输出。
需要注意的是,在绑定参数时,要使用 PDO::PARAM_XXX 常量来指定参数类型,以确保参数的类型正确。在上面的代码中,使用了 PDO::PARAM_STR 来指定参数为字符串类型。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)