2011-03-29 51 views
1

这条语句有什么问题?发生错误时,它不读取第二线时Zend_Db它在$var转义值SQL Zend框架更新声明

(($var = array('tab.order' => 'tab.order+1');)) 

$db->update('tab', $form->getValues(), array('id =?' => $id)); 
         $var = array('tab.order' => 'tab.order+1'); 
         $var2 = array('tab.order >= ' . $form->getValue('order')); 
         $db->update('tab', $var, $var2); 
+0

发生了什么错误? – 2011-03-29 13:50:58

+0

没有错误它只是没有做我想做的事情,它正在更新订单属性中的所有行 – haider 2011-03-29 14:15:28

+0

你是什么意思'它不准备第二行'? '$ var'不存在,没有你期望的值等等? – 2011-03-29 17:30:48

回答

1

你的问题很可能发生的事情,和值成为

`tab.order+1` 

你需要做

$var = array('tab.order' => new Zend_Db_Expr('tab.order + 1')); 

来解决这个问题。

+0

谢谢你,它工作得很好 – haider 2011-03-30 10:32:21