函数名称:mysqli::real_escape_string()
适用版本:PHP 5, PHP 7
函数描述:mysqli::real_escape_string() 函数用于转义在 SQL 语句中使用的字符串中的特殊字符。这样可以避免 SQL 注入攻击。
用法:
string mysqli::real_escape_string ( string $escapestr )
参数:
$escapestr
:需要转义的字符串。
返回值:
- 返回转义后的字符串。
示例:
// 创建数据库连接
$mysqli = new mysqli("localhost", "username", "password", "database");
// 检查连接是否成功
if ($mysqli->connect_errno) {
echo "连接失败:" . $mysqli->connect_error;
exit();
}
// 需要转义的字符串
$string = "It's a nice day!";
// 转义字符串
$escaped_string = $mysqli->real_escape_string($string);
// 构建 SQL 查询语句
$query = "SELECT * FROM table WHERE column = '$escaped_string'";
// 执行查询
$result = $mysqli->query($query);
// 处理结果
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"] . ", Column: " . $row["column"] . "<br>";
}
} else {
echo "没有匹配的结果。";
}
// 关闭数据库连接
$mysqli->close();
在上述示例中,我们首先创建了一个数据库连接 $mysqli
。然后,我们定义了一个需要转义的字符串 $string
,并使用 mysqli::real_escape_string()
函数对其进行转义,得到了 $escaped_string
。接下来,我们构建了一个 SQL 查询语句,并将 $escaped_string
插入到查询语句中。最后,我们执行查询,并处理查询结果。注意,通过使用 mysqli::real_escape_string()
函数,我们确保了在 SQL 查询中使用的字符串不会受到 SQL 注入攻击的影响。最后,我们关闭了数据库连接。