关于mysql_real_escape_string的一个有趣的问题

时间:2010-06-16 20:34:51

标签: php

我有简单的表单来编辑网站内容: - 标题的文本输入 - 内容的文本区域

添加内容时,没有问题,所有情况都会正常添加:

$chead      = mysql_real_escape_string(stripslashes($_POST['chead']));
$ctext      = mysql_real_escape_string(stripslashes($_POST['ctext']));

但是当编辑包含

的文章时
$chead = 'sdsfsf' "sdgsdgs"ggdsfsdg

$ chead ='sdsfsf' 并且"sdgsdgs"ggdsfsdg将丢失! mysql_real_escpae_string有什么问题? 感谢

1 个答案:

答案 0 :(得分:0)

您需要追踪信息丢失的位置,这可能不是mysql_real_escape_string

检查正在生成的$chead值(在您指责特定功能损坏数据之前,确保它已经存在)。然后检查您正在生成的SQL命令并确保它正常工作。插入/更新记录后检查数据库以及当您要求返回文章时从数据库返回的值。

根据我的经验,它更可能是数据库交互中的程序员错误,或者比PHP导致麻烦的HTML生成。如果您确实将问题跟踪到mysql_real_escape_string,则可能需要重新安装PHP和MySQL。