mysql_real_escape_string不在 Linux 服务器上工作,但它适用于我的本地主机


mysql_real_escape_string not working on linux server but its working for my localhost

$intro=mysql_real_escape_string($_POST["intro"]);
$description=mysql_real_escape_string($_POST["description"]);

如果我发布任何特殊字符值,它没有正确存储。

  • 尝试:在Linux服务器中的脚本之上(先于其他任何事情)

    error_reporting(E_ALL); ini_set("display_errors"、"1");

  • 如果存在PHP错误,请查看"页面源代码"。

也许在linux上yoou需要指定连接:

$intro = mysql_real_escape_string($_POST["intro"], $my_mysql_connection);
$description = mysql_real_escape_string($_POST["description"], $my_mysql_connection);
  • 遵循杰伊布兰查德的建议。

Linux 上的 php 是否正在运行magic_quotes_gpc启用...请看

echo php_info();

如果启用了 PHP 版本 <5.3 和 magic_quotes_gpc,请在页面顶部尝试以下操作:

function stripslashes_recurr($o)
{   $o = is_array($o) ? array_map('stripslashes_recurr', $o) : stripslashes($o);
    return $o;
}
$magic_quotes_gpc = get_magic_quotes_gpc() ? true : false;  
ini_set('magic_quotes_runtime', 0);                             
ini_set('magic_quotes_sybase', 0);
if($magic_quotes_gpc) $_POST = stripslashes_recurr($_POST);