real_escape_string
转义字符串中的特殊字符以用于 SQL 语句。
real_escape_string
PHP 5.0.0 及以上版本
real_escape_string 是 PHP 中用于清理数据库查询字符串中的特殊字符的函数,特别是用于防止 SQL 注入。它会对输入的字符串进行转义,以确保字符串中的特殊字符不会对 SQL 查询产生意外影响。
mysqli_real_escape_string(mysqli $link, string $escapestr): string
返回一个经过转义后的字符串。如果发生错误则返回空字符串。
以下是使用 real_escape_string 函数的一个示例:
<?php // 创建数据库连接 $link = mysqli_connect("localhost", "username", "password", "database_name"); <p>// 检查连接是否成功<br> if (!$link) {<br> die("连接失败: " . mysqli_connect_error());<br> }</p> <p>// 要插入数据库的字符串<br> $input_string = "O'Reilly";</p> <p>// 使用 real_escape_string 对字符串进行转义<br> $escaped_string = mysqli_real_escape_string($link, $input_string);</p> <p>// 输出转义后的字符串<br> echo $escaped_string;</p> <p>// 关闭数据库连接<br> mysqli_close($link);<br> ?><br>
在上面的示例代码中,首先建立了一个 MySQLi 数据库连接。接着,定义了一个包含特殊字符(单引号)的字符串 "O'Reilly"。通过调用 mysqli_real_escape_string 函数,程序将对字符串中的特殊字符进行转义,避免 SQL 注入问题。最后,将转义后的字符串输出。