2013-05-21 59 views
0

我更新數據庫中的行並檢查受影響的行,但它不能與rowCount()和mysql_affected_rows一起使用。Zend php不能對受影響的行使用rowCount

這是我的代碼

$result = $this->_db_table->update(array('password' => $new_password), $where); 

我在DB檢查,它改變傳球,但是當我

$affectedRows = mysql_affected_rows($result); 

$affectedRows = $result->rowCount(); 

它總是與mysql_affected_rows返回FALSE和500錯誤服務器與rowCount()。我通過捲曲測試,任何想法?

+0

它真的是布爾值false還是0?查看關於rowCount()http://www.php.net/manual/en/pdostatement.rowcount.php#104930的文檔頁面的評論。如果更新使用與已有信息相同的信息,MySQL將返回0。在PHP 5.3中有一個解決方法。 –

+0

謝謝,但我已經試過$ affectedRows = $ result-> rowCount();但它不起作用。它返回500服務器錯誤。 – Hai

+0

@erik我用戶var_dump()它真的是布爾FALES。 – Hai

回答

0

您確定內容實際上已更改嗎?如果更新它只會返回1,如果實際記錄被更改,而不是方法本身被調用。如果沒有改變,那麼方法將返回0.

+0

我確信內容的變化,我總是檢查它在我跑完之後。我不知道爲什麼,但它的返回FALSE不是0。 – Hai