php 防止sql 注入代码
时间: 2023-07-07 13:13:59 浏览: 98
下面是一个简单的 PHP 代码示例,用于防止 SQL 注入:
```
// 建立数据库连接
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 获取用户输入参数
$userID = $_POST['userID'];
$userName = $_POST['userName'];
// 使用 mysqli_real_escape_string 函数对参数进行转义
$userID = mysqli_real_escape_string($conn, $userID);
$userName = mysqli_real_escape_string($conn, $userName);
// 构造 SQL 查询语句
$sql = "SELECT * FROM users WHERE userID = '$userID' AND userName = '$userName'";
// 执行查询
$result = $conn->query($sql);
// 处理查询结果
if ($result->num_rows > 0) {
// 输出查询结果
while($row = $result->fetch_assoc()) {
echo "userID: " . $row["userID"]. " - userName: " . $row["userName"]. "<br>";
}
} else {
echo "0 个结果";
}
// 关闭连接
$conn->close();
```
在上面的代码中,我们使用了 mysqli_real_escape_string 函数对用户输入的参数进行转义,以避免 SQL 注入攻击。然后我们构造了一个包含转义后参数的 SQL 查询语句,并执行查询。最后我们处理查询结果并关闭数据库连接。当然,我们强烈建议使用预处理语句和参数化查询来防止 SQL 注入攻击。
阅读全文