Zend Framework数据库插入问题

sim*_*nom 1 php mysql zend-framework insert

我开始使用Zend Framework,并创建了一个合适的模型,该模型将数据保存回数据库表中。我遇到的问题是sql语句试图插入'?' 作为数据库中每一列的值。我创建了以下保存函数,该函数将数据数组传递给DBtable适配器函数:

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

这似乎经历了适当的动作,但是该项目未添加到数据库,并且MySql日志中的sql语句类似于:

insert into DB_Table ('pageId','title','body') values ('?', '?', '?');
Run Code Online (Sandbox Code Playgroud)

不太确定它在哪里下降,将不胜感激地收到任何指针。

谢谢

Ale*_*tau 5

数据应采用下一种格式:

$data = array(
   'pageId' => 1,
   'title'  => 'title',
   'body'   => 'body'
);
Run Code Online (Sandbox Code Playgroud)

您确定$this->getDbTable()返回数据库适配器吗?尝试使用:

$db = new Zend_Db_Table('table_name');
$db->insert($data);
Run Code Online (Sandbox Code Playgroud)