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)
不太确定它在哪里下降,将不胜感激地收到任何指针。
谢谢
数据应采用下一种格式:
$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)