举例几个不存在sql注入的php脚本
时间: 2023-08-02 21:26:20 浏览: 96
以下是几个不存在SQL注入漏洞的PHP脚本示例:
1. 查询指定用户的信息
```php
<?php
// 连接数据库
$conn = mysqli_connect('localhost', 'username', 'password', 'database');
// 获取用户ID
$user_id = $_GET['id'];
// 预编译 SQL 语句
$stmt = $conn->prepare('SELECT * FROM users WHERE id = ?');
// 绑定参数
$stmt->bind_param('i', $user_id);
// 执行查询
$stmt->execute();
// 获取结果
$result = $stmt->get_result();
// 输出结果
while ($row = $result->fetch_assoc()) {
echo $row['username'] . '<br>';
echo $row['email'] . '<br>';
}
// 关闭连接
$conn->close();
?>
```
2. 插入新用户信息
```php
<?php
// 连接数据库
$conn = mysqli_connect('localhost', 'username', 'password', 'database');
// 获取用户输入的信息
$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];
// 预编译 SQL 语句
$stmt = $conn->prepare('INSERT INTO users (username, email, password) VALUES (?, ?, ?)');
// 绑定参数
$stmt->bind_param('sss', $username, $email, $password);
// 执行插入
$stmt->execute();
// 输出结果
echo '新用户添加成功!';
// 关闭连接
$conn->close();
?>
```
这两个示例中,都使用了预编译语句和参数绑定,避免了SQL注入漏洞的产生。同时,对于用户输入的数据也进行了过滤和验证,确保数据的正确性和安全性。
阅读全文