mysql_real_escape_string不能在linux服务器上运行,但它适用于我的localhost

时间:2015-03-11 12:41:12

标签: php mysql

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

如果我发布任何特殊字符值,则表示存储不正确。

1 个答案:

答案 0 :(得分:0)

  • 尝试:在linux服务器上的脚本之上(比其他任何事情更好)

    的error_reporting(E_ALL); ini_set(' display_errors',' 1');

  • 查看页面源代码'如果出现php错误。

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

$intro = mysql_real_escape_string($_POST["intro"], $my_mysql_connection);
$description = mysql_real_escape_string($_POST["description"], $my_mysql_connection);
  • 关注 Jay Blanchard 建议。

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);