php预处理代码
时间: 2023-07-03 19:18:38 浏览: 53
PHP中使用PDO或mysqli预处理语句来避免SQL注入攻击。下面是一个使用PDO预处理语句的示例代码:
```
// 连接数据库
$dsn = 'mysql:host=localhost;dbname=test';
$username = 'username';
$password = 'password';
$options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
);
try {
$dbh = new PDO($dsn, $username, $password, $options);
} catch (PDOException $e) {
echo '数据库连接失败:' . $e->getMessage();
exit;
}
// 准备预处理语句
$sql = 'SELECT * FROM users WHERE username = :username AND password = :password';
$stmt = $dbh->prepare($sql);
// 绑定参数
$username = 'admin';
$password = '123456';
$stmt->bindParam(':username', $username, PDO::PARAM_STR);
$stmt->bindParam(':password', $password, PDO::PARAM_STR);
// 执行查询
$stmt->execute();
// 获取结果集
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
// 处理结果集
foreach ($result as $row) {
echo $row['username'] . ' ' . $row['password'] . '<br>';
}
// 关闭数据库连接
$dbh = null;
```
以上代码中,使用PDO连接数据库,并使用prepare方法准备预处理语句。在绑定参数时,使用bindParam方法绑定参数,可以指定参数类型。最后执行查询并处理结果集。