mysql_real_escape_string逃逸单引号到MySQL入门
问题描述:
我进入我的表单字段这一点:O'mally
mysql_real_escape_string逃逸单引号到MySQL入门
我运行文本此代码:
foreach($_POST as $key=>$value){
$form[$key] = mysql_real_escape_string($value); //Escape input.
}
的POST输出:O'mally
输出变量运行后上面列出的代码是:O\'mally
查询:
mysql_query("insert into tbl_test
(lastName)
values
('{$form['lastName']}')")
数据库中获取O\'mally
插入它(我想O'mally
要插入,不是逃避)。
我在这里做错了什么?
我已确认魔术引号为OFF通过phpinfo()
。谢谢。
答
当您需要从数据库输出O'mally到浏览器时,只需使用stripslashes()函数。
+0
我认为使用mysql_real_escape_string意味着它进入数据库没有转义字符,所以你不需要使用stripslashes? – Shackrock 2012-03-03 14:00:06
+0
mysql_real_escape_string直接转义它们。 – 2012-03-03 14:09:22
你如何执行mySQL语句? – knittl 2012-03-03 13:50:52
改用准备好的语句,那么你根本就不必逃避。 – 2012-03-03 13:51:14
@knittl我添加了查询。 – Shackrock 2012-03-03 13:52:55