【问题标题】:Zend Framework Database Insert IssueZend Framework 数据库插入问题
【发布时间】:2011-11-08 10:57:24
【问题描述】:

我开始使用 Zend 框架并创建了一个合适的模型,可以将数据保存回数据库表。我遇到的问题是 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']));
    }
} 

这似乎经过了适当的动作,但该项目没有添加到数据库中,MySql 日志中的 sql 语句看起来像:

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

不太清楚这在哪里下降,任何指针将不胜感激。

谢谢

【问题讨论】:

    标签: php mysql zend-framework insert


    【解决方案1】:

    数据应该是下一个格式:

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

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

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

    【讨论】:

    • 谢谢,getDbTable() 的“doh”时刻。感谢您的提示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多