2010-10-08 114 views
1

我開始使用Zend Framework並創建了一個將數據保存回數據庫表的合適模型。我遇到的問題是,sql語句試圖插入'?'作爲數據庫中每列的值。我創建了以下保存其數據傳遞的數組的DBTABLE適配器功能功能:Zend Framework數據庫插入問題

public function save()  { 
    $data = $this->getData(); 
    if ($data['pageId']==0) { 
     $this->getDbTable()->insert($data); 
    } else { 
     $this->getDbTable()->update($data, array('pageId = ?' => $data['pageId'])); 
    } 
} 

這似乎要經過適當的運動,但該項目不會添加到數據庫和MySQL日誌中的SQL語句看起來像這樣:

insert into DB_Table ('pageId','title','body') values ('?', '?', '?'); 

不太確定這是哪裏掉下來,任何指針將感激地收到。

感謝

回答

4

數據應該是在明年格式:

$data = array(
    'pageId' => 1, 
    'title' => 'title', 
    'body' => 'body' 
); 

你肯定$this->getDbTable()回報你的數據庫適配器? 嘗試使用:

$db = new Zend_Db_Table('table_name'); 
$db->insert($data); 
+0

感謝,與getDbTable一個 「衛生署」 的時刻的位()。感謝您的提示。 – simnom 2010-10-08 13:20:34