2013-10-01 45 views
0

在我称之为这个问题之前,是的,我知道mysql_query是一个坏习惯,但我需要先解决这个问题,然后在不久的将来,我将移动到PDO或者其他的东西..mysql_real_escape_string()本地主机和服务器上的不同行为,php5.1,php5.4

我有一个代码,在使用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信息。

希望有人能帮助我在此

回答

1

而不必看着太远了进去,mysql_real_escape_string已被废弃,现在您应该使用mysqli_real_escape_string()(与新的mysqli LIB云)

+0

好吧,但这将使我改变网站的一切,因为如果我使用我需要在数据库连接文件中使用mysqli至极使所有其他文件中的所有查询不工作。这就是为什么我说,我知道,并在未来的课程,我会更新,但知道需要了解为什么在当地而不是在服务器上工作,必须有逻辑的原因 –

+0

只是为了测试我做了你所说的,它不工作它完全相同,为什么在本地工作良好,而不是在与mysqli或MySQL的服务器..谢谢 –

+0

我使用html_entities清理quot然后stripslashes(),但我改变mysqli,和我只是做一个新的con文件 –

0

你肯定$_POST['desc']是在本地主机和服务器上是一样的吗?也许你的POST请求正在形成不正确

+0

其相同的文件,我的意思是我只是移动它并上传它,测试几次,以确认即时通讯使用完全相同的代码 –

相关问题