[英]Zend_Db -> update() increments my values twice?
我有一個與zend framework的zend_db相關的非常奇怪的問題。
我用
$this -> update(array('visits' => new Zend_Db_Expr('`visits` + 1')), new Zend_Db_Expr("`ip` = '{$ip}' AND `day` = {$day} AND `month` = {$month} AND `year` = {$year}"));
用1增加visits
。問題是Zend用值* 2遞增它,在這種情況下是2,如果我說visits
+ 5,它然后以10增加?
這真的很奇怪,因為純SQL工作。 我已經嘗試過使用Update()函數的代碼,然后我只是說exit($sql)
我可以看到SQL沒問題,它在phpMyAdmin下正常運行,除非我讓update()運行。
我以為我可能會在某處調用update()兩次,所以我放了exit(); 在它,所以它會在運行一次后中斷......同樣的問題......
提前致謝!
順便說一下,我的zend框架是1.11.11或更低。
如果你把它寫成標准的sql更新,沒有zend_db_table的update()函數會發生什么? 它按預期工作嗎?
$this->_db->query('UPDATE ' . $this->_name . ' SET visits = visits + 1 WHERE ip = ? AND `day` = ? AND `month` = ? AND `year` = ?", array($ip, $year, $month, $day);
如果它確實正常工作,則表示update()函數有問題。 如果它仍然是一個問題,你可能會以某種方式運行腳本兩次。
此外,您的類是否直接從Zend_Db_Table_Abstract
擴展? 我有一些情況,更新功能是用不同的邏輯覆蓋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.