[請益] 因有資料中有 ' 以致於無法匯入mysql

看板PHP作者 (you)時間11年前 (2014/03/24 16:59), 編輯推噓3(305)
留言8則, 6人參與, 最新討論串1/1
我用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

03/24 17:35, , 1F
addslashes, mysql_escape_string, prepare/execute
03/24 17:35, 1F

03/24 17:40, , 2F
replace(',\',$i)
03/24 17:40, 2F

03/24 18:07, , 3F
THANKS
03/24 18:07, 3F

03/24 18:12, , 4F
大家好壞 這是資安基本題啊 http://goo.gl/GLKqcd
03/24 18:12, 4F

03/24 18:47, , 5F
mysql_"REAL"_escape_string.
03/24 18:47, 5F

03/24 18:49, , 6F
最近發現pdo->prepare()沒有escape單引號功能,要用
03/24 18:49, 6F

03/24 18:51, , 7F
pdo->quote(),不確定是不是只有mysql driver這樣
03/24 18:51, 7F

03/24 21:24, , 8F
pdo應該要用bindParam跟bindValue 吧
03/24 21:24, 8F
文章代碼(AID): #1JB_G3Om (PHP)
文章代碼(AID): #1JB_G3Om (PHP)