[请益] 因有资料中有 ' 以致于无法汇入mysql

楼主: you7 (泻老板)   2014-03-24 16:59:44
我用for循环把阵列的内容,一笔一笔汇到mysql中
$sql= "INSERT INTO `wp_data` (`id`) VALUES ('".$i."')";
可是有一笔资料是 father's day 所以会出现这样的状况:
$sql= ...(略)..................... VALUES ('father's day')"
多一个单引号,以致于汇入数据库不成功。
我要怎么解决呀?
前提是阵列里的资料都是外部取的,根本不知道哪一笔有单引号。
所以也不知道怎么去插入跳脱字符。
作者: rickysu (Ricky)   2014-03-24 17:35:00
addslashes, mysql_escape_string, prepare/execute
作者: thisisbird (阿度)   2014-03-24 17:40:00
replace(',\',$i)
楼主: you7 (泻老板)   2014-03-24 18:07:00
THANKS
作者: Jerr (身为老爸老妈噜..)   2014-03-24 18:12:00
大家好坏 这是资安基本题啊 http://goo.gl/GLKqcd
作者: MOONRAKER (㊣牛鹤鳗毛人)   2014-03-24 18:47:00
mysql_"REAL"_escape_string.最近发现pdo->prepare()没有escape单引号功能,要用pdo->quote(),不确定是不是只有mysql driver这样
作者: johnny1972 (傻蛋)   2014-03-24 21:24:00
pdo应该要用bindParam跟bindValue 吧

Links booklink

Contact Us: admin [ a t ] ucptt.com