我开始使用 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']));
}
}
这似乎通过了适当的 Action ,但该项目未添加到数据库中,MySql 日志中的 sql 语句类似于:
insert into DB_Table ('pageId','title','body') values ('?', '?', '?');
不太确定这是哪里出了问题,如有任何指点,我们将不胜感激。
谢谢
最佳答案
数据应采用以下格式:
$data = array(
'pageId' => 1,
'title' => 'title',
'body' => 'body'
);
您确定 $this->getDbTable()
返回您的数据库适配器吗?
尝试使用:
$db = new Zend_Db_Table('table_name');
$db->insert($data);
关于php - Zend Framework 数据库插入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3888739/