在本地主机和服务器上mysql_real_escape_string()不同的行为,php5.1,php5.4


mysql_real_escape_string () different behaviour on localhost and server, php5.1 , php5.4

在我提出这个问题之前,是的,我知道mysql_query这是一个不好的做法,但我需要先解决这个问题,然后在不久的将来我会转向PDO或其他东西。

我有一个使用 php 5.4 在本地主机中完美运行的代码,问题是当我在服务器中加载它时,一切正常,只有一个错误,此时,我对它视而不见。

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

在本地,我确实存储了<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信息。

希望有人能在这方面帮助我

没有深入研究,mysql_real_escape_string已被弃用,您现在应该使用 mysqli_real_escape_string(((它与新的 mysqli 库一起使用(

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