在我的本地 MAMP 设置上使用 mysql_real_escape_string 时,它工作正常。例如,当我在文本字段中输入“test”时,它会显示为“test”。
当我将它发布到远程服务器时,它似乎没有转义字符串。“test”在数据库中显示为“test”。
我已经确保在转义之前打开了一个连接。
示例代码:
global $db,$db_table_prefix;
mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
$title = mysql_real_escape_string($_POST['title']);
$content = mysql_real_escape_string($_POST['content']);
它可以很好地保存到正确的数据库中,但似乎没有添加 \'s。