MySQL真正的转义字符串

use*_*895 2 php mysql sanitization mysql-real-escape-string apostrophe

我试图使用addslashes和mysql_real_escape_string来清理我的PHP登录输入.使用addslashes作品,但mysql_real_escape_string不会.

以下是允许我正确登录的示例:

$user = addslashes($_POST['user']);<br/>
$password = addslashes($_POST['password']);
Run Code Online (Sandbox Code Playgroud)

这不会:

$user = mysql_real_escape_string($_POST['user']);<br/>
$password = mysql_real_escape_string($_POST['password']);
Run Code Online (Sandbox Code Playgroud)

此外,我的一些其他字段包含撇号.使用addslashes时不返回任何内容,因为数据库中的条目不会被转义.我想知道是否使用mysql_real_escape_string可以解决这个问题,但我不知道如何.

Cal*_*lum 12

始终使用mysql_real_escape_string而不是addslashes.确保运行之前已连接到数据库,否则会出错.

  • 如果要在显示文本之前回显到屏幕时使用htmlentities(),则要使某些HTML处于非活动状态.这两种策略将共同提高安全性. (2认同)