2010-10-08 113 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