mysql_real_escape_string和addslashes的错误

Art*_*ski 2 php mysql

mysql_real_escape_stringaddslashes.有问题.我的PHP文件中有一个表单$_POST['title'],然后我有:

$title = mysql_real_escape_string(addslashes($_POST['title']));
Run Code Online (Sandbox Code Playgroud)

我插入$title我的数据库.当我想从我的数据库中获取此值时,我有:

$title = stripslashes($results['title']); 
Run Code Online (Sandbox Code Playgroud)

问题是当我提交这样的东西时:abs"'@我的结果是:abs\"\'@.

我不知道bug在哪里.

Ry-*_*Ry- 6

根本不打扰使用addslashes,mysql_real_escape_string不仅能够独立完成.所以使用:

$title = mysql_real_escape_string($_POST['title']);
Run Code Online (Sandbox Code Playgroud)

stripslashes从您的检索代码中删除.如果问题仍然存在,您可能有其中一个magic_quotes选项 - 如果是,请将其关闭!

  • 建议关闭魔术引号+1. (4认同)

Mar*_*ers 5

不要用addslashes.你只需要mysql_real_escape_string.

$title = mysql_real_escape_string($_POST['title']);
Run Code Online (Sandbox Code Playgroud)