簡體   English   中英

Zend_Db - > update()兩次遞增我的值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM