我試圖用where語句獲取一行,但由於某種原因,它向我拋出一個錯誤。Zend fetchRow()不工作
這是該行 $row = $this->getDbTable()->fetchRow("order = $order");
我已經把一個模具();在這條線之前,它確實死了, 然後我把一個die();在這行和die()沒有得到執行但拋出錯誤之後。
該錯誤並沒有幫助我太多它只說「發生了一個錯誤的應用程序錯誤」,也沒有什麼在我的PHP錯誤日誌。
幫助!
我試圖用where語句獲取一行,但由於某種原因,它向我拋出一個錯誤。Zend fetchRow()不工作
這是該行 $row = $this->getDbTable()->fetchRow("order = $order");
我已經把一個模具();在這條線之前,它確實死了, 然後我把一個die();在這行和die()沒有得到執行但拋出錯誤之後。
該錯誤並沒有幫助我太多它只說「發生了一個錯誤的應用程序錯誤」,也沒有什麼在我的PHP錯誤日誌。
幫助!
通過您的意見,我會嘗試做where
部分「正常」?例如:
$select = $this->getDbTable()->select()->where('order = ?', $order);
$row = $this->getDbTable()->fetchRow($select);
您需要通過order
選擇什麼樣的情況?有沒有可以選擇的主鍵?
更新:
考慮您的意見,也許直接使用update
:
$table = $this->getDbTable();
$data = array('order' => $order+1);
$where = $table->getAdapter()->quoteInto('order = ?', $order);
$table->update($data, $where);
我得到了同樣的錯誤,die()噸。我需要選擇訂單,因爲我希望能夠編輯訂單。當我想從訂單3移動到4.我需要找到包含這些訂單的2行,然後切換並再次保存它們。我已經使用fetchAll(null,'order')修復了它,然後$ i = 0; foreach($ objects as $ object)if($ object-> getOrder()== $ order)$ object-> setOrder($ order); $對象[++ $ I] - > setOrder(++ $順序);萬一; $ I ++; endforeach; – WingLeung
啊,對嗎,只是改變兩行聽起來不太有效。也許使用直接更新?看到更新的答案。 – ChrisA
這會很好,但問題是我需要切換這兩個,所以如果我更新行2至3的順序。那麼我怎麼能更改行3至2,因爲我有2行現在順序= 3 :-) – WingLeung
請告訴我,如果你做一些簡單的像'發生 - >使用fetchall();'? – ChrisA
fetchAll();工作正常。我設法解決了fetchRow(),但爲了將來的項目,我真的需要知道fetchRow在這裏出了什麼問題。 – WingLeung
'$ order'是什麼? – ChrisA