![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 Dv Lin ![]()
![]() |
我希望更新資料表中的一個欄位 在views傳送二個陣列值 <input name="odlistid[]" type="hidden" value="<?php echo $_data['odlistid']; ?>" /> <input name="odlist_qty[]" type="text" value="<?php echo $_data['odlist_qty']; ?>" size="3" maxlength="3" /> 在models我是這樣寫的 function bayqtyupdate() { $post = $this->input->post(); $odlistid = $post['odlistid']; $odlist_qty = $post['odlist_qty']; $save = Array( 'odlist_qty' => $post['odlist_qty'], ); //print_r($odlistid); //print_r($odlist_qty); //exit(); $this->db->where('odlistid', $odlistid); $this->db->update('orderlist', $save); } 我將二個值print_r出來 print_r($odlistid); print_r($odlist_qty); 是有這個陣列的值 Array ( [0] => 633 [1] => 632 ) Array ( [0] => 5 [1] => 8 ) 但在更新的時候卻 Unknown column 'Array' in 'where clause' UPDATE `orderlist` SET `odlist_qty` = Array WHERE `odlistid` = `Array` 不管是哪個值都完全抓不到 請問各位先進 我是哪邊寫錯了嗎? |
1樓
最有價值解答
彩虹 ![]() |
你已經知道 $$post['odlistid'] 跟 $post['odlist_qty'] 是陣列了 (你注意看你 print_r() 出來的東西,他是不是已經告訴你 Array()
但你卻沒有對陣列做處理,當然會報錯 (挺正常的)UPDATE `orderlist` SET `odlist_qty` = Array WHERE `odlistid` = `Array` 因為你的確是「塞陣列」進去,而不是把「陣列的“值”」指定過去 這樣你大概看得懂 給你一點提點,你可以用 foreach 來做(你思考一下)
本篇文章回覆於2019-09-02 09:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |