[問題] PHP PDO UPADATE SET ? = ?

看板PHP作者 (GoogleGlass沒了ww)時間10年前 (2015/04/04 21:58), 編輯推噓1(108)
留言9則, 4人參與, 最新討論串1/1
※ [本文轉錄自 ask 看板 #1L7-cRKR ] 作者: HoloLens (我就是抄GoogleGlass) 看板: ask 標題: [請問] PHP PDO UPADATE SET ? = ? 時間: Sat Apr 4 21:39:36 2015 小弟剛剛在寫PHP但發現似乎 $sql = 'UPDATE `combook` SET ? = ? WHERE `id` = ?'; $sth = $Link->prepare($sql); $sth->execute(array($_POST['n'], $_POST['thing'], $_POST['i'])); 這樣子的code無法順利UPDATE資料庫的東西,不知道是不是因為SET後面不行用?,如果是 的話是不是就只能手動串,但是好像就不太安全QQ,所以想請教大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.124.14.102 ※ 文章網址: https://www.ptt.cc/bbs/ask/M.1428154779.A.51B.html ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: HoloLens (61.206.127.225), 04/04/2015 21:58:24

04/04 22:33, , 1F
? = ? ???你要Upate什麼東西?
04/04 22:33, 1F

04/04 22:34, , 2F
SET 欄位 = 值 WHERE id = 多少
04/04 22:34, 2F

04/04 22:34, , 3F
不然系統怎麼會知道你要幹嘛= =?
04/04 22:34, 3F

04/04 22:55, , 4F
PDO parameter 不支援 column name 或 table name 喔
04/04 22:55, 4F

04/04 22:57, , 5F
先用 in_array 檢查 $_POST['n'] 是否在白名單裡,再放
04/04 22:57, 5F

04/04 22:57, , 6F
入 $sql
04/04 22:57, 6F

04/05 03:05, , 7F
$_POST[n]存成變數
04/05 03:05, 7F

04/05 03:05, , 8F
不要塞近execute
04/05 03:05, 8F

04/05 11:48, , 9F
謝謝大家,我大概懂了~
04/05 11:48, 9F
文章代碼(AID): #1L7-u1dc (PHP)
文章代碼(AID): #1L7-u1dc (PHP)