上午SO,消毒一個POST陣列INSERT查詢
我有一個複選框陣列(名稱=「貓[]」),其中在現有的,包含六個值,1- 6(它可以包含更多的表單在將來)。用戶可以選擇其中的任意數量。
$_SESSION['cat'] = $_POST['cat'];
(他們是在一個會話,因爲有一兩步實際插入查詢之前)
我想要做的是它們進行消毒:
然後將這些值在收集。我已經嘗試
$_SESSION['cat'] = (int)$_POST['cat'];
但是,似乎剝奪了它的所有值。
有人可以幫助使用適當的方法消毒這個安全插入數據庫?
在此先感謝一如既往, 丹
什麼都是這樣的價值?他們都是數字嗎?你如何「消毒」他們?從你所問的問題看來,你看起來像是將一個數組('cat []')轉換爲一個整數,不會產生整數數組,它只會產生一個整數。你需要通過它循環,或用戶像array_walk()... – DaveRandom
嗨Dave,數組確實包含(最多)六個值,1,2,3等等等。這些涉及到toxi解決方案中的唯一ID爲我的數據庫中的標籤。目前這種做法很好,但是消毒(或試圖)已經停止了它的工作。在我的插入查詢中,我通過它們全部循環。 – Dan
(參考):另請參見:[php過濾器函數](http://www.php.net/manual/ref.filter.php)特別是[filter_input_array](http://www.php.net/ manual/efunction.filter-input-array.php) – Yoshi