PHP mysqli_real_escape_string MySQLi 函数
-
定义和用法
mysqli_real_escape_string - 根据当前连接的字符集,对于 SQL 语句中的特殊字符进行转义 -
版本支持
PHP4 PHP5 PHP7 不支持 支持 支持 -
语法
mysqli_real_escape_string ( mysqli $link , string $escapestr)
此函数用来对字符串中的特殊字符进行转义, 以使得这个字符串是一个合法的 SQL 语句。 传入的字符串会根据当前连接的字符集进行转义,得到一个编码后的合法的 SQL 语句。 -
参数
参数 必需的 描述 link 是 由mysqli_connect() 或 mysqli_init() 返回的链接标识。 escapestr 是 需要进行转义的字符串。 会被进行转义的字符包括: NUL (ASCII 0),\n,\r,\,'," 和 Control-Z. -
返回值
转义后的字符串。 -
示例
<?php $link = mysqli_connect("localhost", "my_user", "my_password", "world"); /* 检查连接 */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City"); $city = "'s Hertogenbosch"; /* 由于未对 $city 进行转义,此次查询会失败 */ if (!mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) { printf("Error: %s\n", mysqli_sqlstate($link)); } $city = mysqli_real_escape_string($link, $city); /* 对 $city 进行转义之后,查询可以正常执行 */ if (mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) { printf("%d Row inserted.\n", mysqli_affected_rows($link)); } mysqli_close($link);
-