2012-07-02 2 views
1

У меня есть этот запрос, из того, что я нашел из примеров здесь и в документах, это должно работать, но скрипт говорит, что нет .. нужен массив, а не строка. Должен ли я что-то делать, какZend Framework SQL-запрос Обновление не работает

$db = $this->db = Zend_Registry::getinstance()->dbAdapter; 
$db->select()->from('offer_term')->where('term_id = '.$entry[$i]); 
$db->update('status = 0'); 

с нижеследующим разрывом. Итак, я совершенно не знаком с Зендом, кто-нибудь хочет уточнить, что я делаю неправильно?

$db = $this->db = Zend_Registry::getinstance()->dbAdapter; 
$db->select()->from('offer_term')->where('term_id = ?',array($entry[$i])); 
$db->update('status = ?', array('0')); 
+0

Что такое полная ошибка? –

ответ

3

Пожалуйста, посмотрите на Zend Framework документации update()here.

подпись метода заключается в следующем:

$db->update($table, $data, $where); 

Это означает, что вы должны позволить адаптер знать, какую таблицу вы обновляете, а также в какой строке (ов) из этой таблицы.

Вы, вероятно, следует переписать код на:

$db->update(
    'offer_term', 
    array('status' => 0), 
    array('term_id = ?' => $entry[$i]) 
); 

Это переведет:

UPDATE offer_term 
SET status = 0 
WHERE term_id = <myEntry> 
Смежные вопросы