php中对数据库操作prepare用法
时间: 2024-12-24 09:42:34 浏览: 6
在PHP中,`PDO`(PHP Data Objects)库提供了一个强大的工具 `prepare()` 函数用于预处理SQL查询。这是预防SQL注入攻击的一种安全实践,同时也可以提高性能。以下是使用`prepare()`的基本步骤:
1. **连接到数据库**:
```php
$dsn = "mysql:host=localhost;dbname=test";
$pdo = new PDO($dsn, 'username', 'password');
```
2. **准备SQL语句**:
使用 `prepare()` 函数声明一个SQL模板,占位符通常使用问号 (?) 或命名参数模式 ($param_name):
```php
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ? AND password = ?");
```
3. **绑定参数**:
然后使用 `bindParam()` 或 `bindValue()` 来替换占位符,并设置实际值:
```php
$stmt->bindParam(1, $_POST['username']);
$stmt->bindParam(2, password_hash($_POST['password'], PASSWORD_DEFAULT));
```
4. **执行查询**:
```php
$stmt->execute();
```
5. **获取结果**:
可以通过 `fetch()`、`fetchAll()` 或其他类似方法来遍历结果集。
6. **关闭连接**:
执行完所有操作后记得关闭连接:
```php
$stmt = null;
$pdo = null;
```
阅读全文