mysql_real_escape_string()在localhost和server,php5.1,php5.4上的不同行为

时间:2013-10-01 03:03:05

标签: php mysql sql

在我打电话给这个问题之前,是的,我知道mysql_query是一个不好的做法,但我需要先解决这个问题,然后在不久的将来我会转向PDO或其他一些事情。

我有一个代码在localhost中使用php 5.4完美地运行问题是当我在服务器中加载它时,一切正常,只有一个错误,此时此刻,我对它失明了。

在描述字段中,对于博客中的一种文章,我使用elrte和elfinder编辑器,问题是当我发送图像到存储在数据库中时,我有不同的结果。

在本地我确实存储了<img src="folder/ok/img.jpg">但由于某种原因存储在服务器中的相同文件,并将数据库中的代码存储为<img src="\&quot;/folder/ok/img.jpg\&quot;" >

这必须与这些行相关(描述文件正在进行$desc

if(isset($_POST['submit'])){

            //protect and then add the posted data to variables
            $titulo = protect($_POST['titulo']);
            $desc = mysql_real_escape_string ($_POST['desc']);
            $cat_id = protect($_POST['cat_id']);

但是有人可以解释这种行为,导致我对此盲目,我也知道这有安全问题,但至少我们不存储任何NASA信息。

希望任何人都可以帮助我

2 个答案:

答案 0 :(得分:1)

如果没有看得太过分,不推荐使用mysql_real_escape_string,你现在应该使用mysqli_real_escape_string()(这与新的mysqli lib一起使用)

答案 1 :(得分:0)

您确定$_POST['desc']在localhost和服务器上是否相同?也许您的POST请求形成不正确