mysql_real_escape_string
并且addslashes
都用于在数据库查询之前转义数据,那有什么区别?(这个问题不是关于参数化查询/ PDO / mysqli)
发布于 2018-08-30 16:44:19
情况1:
$str = "input's data";
print mysql_real_escape_string($str); input\'s data
print addslashes($str); input\'s data;
案例2:
$str = "input\'s data";
print mysql_real_escape_string($str); input\'s data
print addslashes($str); input\\'s data;
发布于 2018-08-30 16:56:34
string mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier ] )
mysql_real_escape_string()
调用MySQL的库函数mysql_real_escape_string,它将反斜杠添加到以下字符:\ x00,\ n,\ r,\,',“和\ x1a。
string addslashes ( string $str )
在需要在数据库查询等中引用的字符之前返回带反斜杠的字符串。这些字符是单引号('),双引号(“),反斜杠(\)和NUL(NULL字节)。
它们影响不同的角色。mysql_real_escape_string
特定于MySQL。Addslashes只是一个通用函数,可能适用于其他东西以及MySQL。
发布于 2019-11-22 10:57:46
案例2我在本地测试都是一样的,并且都是input\\\'s data
https://stackoverflow.com/questions/-100000698
复制相似问题