我有一个textarea,用户可以输入单引号和双引号,但在我将这些数据插入数据库之前,我想用\'替换引号。和双引号\"我试着做以下事情:
$_POST = str_replace("'", "\'", $_POST);
$_POST = str_replace(""", "\"", $_POST);
当我运行这个时,我只是得到一个空白屏幕没有错误,我做错了吗?
答案 0 :(得分:2)
你真的不应该这样做。您应该使用PDO and prepared statements
或至少mysqli and mysqli_real_escape_string
。使用addslashes
将数据插入数据库是非常糟糕的主意。
修改强>
你不应该使用mysql
函数(我看到你在问题评论中尝试过),因为它们已经被弃用了。如果您不想使用PDO,请使用mysqli
个功能
答案 1 :(得分:0)
$_POST
是一个数组,你不能使用字符串替换函数。
您必须直接在字段上进行,例如在$_POST['name']
答案 2 :(得分:0)
只需使用mysql_real_escape_string,并尝试对超级全局变量执行字符串操作......不是一个好主意(如果你不知道这些变量是数组)
答案 3 :(得分:0)
为什么你不使用:
mysqli_real_escape_string