作者you7 (you)
看板PHP
標題[請益] 因有資料中有 ' 以致於無法匯入mysql
時間Mon Mar 24 16:59:44 2014
我用for迴圈把陣列的內容,一筆一筆匯到mysql中
$sql= "INSERT INTO `wp_data` (`id`) VALUES ('".$i."')";
可是有一筆資料是 father's day 所以會出現這樣的狀況:
$sql= ...(略)..................... VALUES ('father's day')"
多一個單引號,以致於匯入資料庫不成功。
我要怎麼解決呀?
前提是陣列裡的資料都是外部取的,根本不知道哪一筆有單引號。
所以也不知道怎麼去插入跳脫字元。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.232.150.161
1F:推 rickysu:addslashes, mysql_escape_string, prepare/execute 03/24 17:35
2F:推 thisisbird:replace(',\',$i) 03/24 17:40
3F:→ you7:THANKS 03/24 18:07
5F:→ MOONRAKER:mysql_"REAL"_escape_string. 03/24 18:47
6F:→ MOONRAKER:最近發現pdo->prepare()沒有escape單引號功能,要用 03/24 18:49
7F:→ MOONRAKER:pdo->quote(),不確定是不是只有mysql driver這樣 03/24 18:51
8F:→ johnny1972:pdo應該要用bindParam跟bindValue 吧 03/24 21:24