Zend Db更新和删除方法和引用

时间:2013-03-14 10:14:52

标签: php zend-framework zend-db zend-db-table

中的文件
  

由于表update()方法代理数据库适配器update()方法,因此第二个参数可以是SQL表达式的数组。表达式使用AND运算符组合为布尔项。注意:不会为您引用SQL表达式中的值和标识符。如果您有需要引用的值或标识符,则您有责任这样做。使用数据库适配器的quote(),quoteInto()和quoteIdentifier()方法。

但是当我检查源更新方法时,我看到了一些奇怪的东西(方法链执行):

  • Zend_Db_Table_Abstract ::更新()
  • 一个Zend_Db_Adapter_Abstract ::更新()
  • 一个Zend_Db_Adapter_Abstract :: _ whereExpr()
  • 一个Zend_Db_Adapter_Abstract :: quoteInto()

并且在Zend_Db_Adapter_Abstract :: quoteInto()中有引用。任何人都能解释一下吗?文档可能已经过时了吗?

1 个答案:

答案 0 :(得分:0)

引用了这些值,文档中的注释引用了您传入的WHERE子句,您需要自己引用它。典型用法是:

$table->update(array(
    'name' => $name, // this gets quoted
    'email' => $email // as does this
), $db->quoteInto('id = ?', $id));