0

我无法找到我的查询不起作用的原因

 $data['active']=1
 $bind=$this->_db->quoteInto('id = ?', $id);
 $returnval= $this->_db->update($this->_name,$data,$bind);

`UPDATE `discount_rule` SET `isActive` = ? WHERE (rule_id = 20)`

为什么 ”?” !. 我尝试了很多方法,但我无法以这种方式实现。$this_db 是 Zend_DB_Adapter_abstract 类型。要么是愚蠢的错误,要么我无法理解如何使用 Zend_Db_Table_Abstract - update() !

更多细节

class demo_Model_price extends Zend_Db_Table_Abstract{
      public function update($data,$id){
        $where='id ='.$id; //i changed it to see if this work 
        try{
           $returnval= $this->update($this->_name,$data,$where);
           return $returnval;
        }catch(Exception $e)
        {
            echo $e->getMessage();
        }
     }
}

有人可以确定我的查询中有什么问题吗?这是一个简单的查询,它应该可以工作。

4

1 回答 1

0

希望你正在使用Models

一些一般要点

总是用大写字母开始上课Demo_Model_price

update是一个关键字的函数zend

试试下面的代码

class Demo_Model_price extends Zend_Db_Table_Abstract{
      public function updateData($data,$id){
        $where = $this->getAdapter()->quoteInto('id = ?',$id);
        try{
           $returnval= $this->update($data,$where);
           return $returnval;
        }catch(Exception $e)
        {
            echo $e->getMessage();
        }
     }

}

于 2012-10-16T07:24:56.463 回答