[問題] PHP PDO UPADATE SET ? = ?

作者: HoloLens (GoogleGlass沒了ww)   2015-04-04 21:58:24
※ [本文轉錄自 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,所以想請教大家
作者: KawasumiMai (さあ、死ぬがいい)   2015-04-04 22:33:00
? = ? ???你要Upate什麼東西?SET 欄位 = 值 WHERE id = 多少不然系統怎麼會知道你要幹嘛= =?
作者: bibo9901 (function(){})()   2015-04-04 22:55:00
PDO parameter 不支援 column name 或 table name 喔先用 in_array 檢查 $_POST['n'] 是否在白名單裡,再放入 $sql
作者: ian71135 (ian)   2015-04-05 03:05:00
$_POST[n]存成變數不要塞近execute
作者: HoloLens (GoogleGlass沒了ww)   2015-04-05 11:48:00
謝謝大家,我大概懂了~

Links booklink

Contact Us: admin [ a t ] ucptt.com