[請益] 因有資料中有 ' 以致於無法匯入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