如何知道MySQL UPDATE何時成功與實際更新的數據?如何知道MySQL UPDATE何時成功與實際更新的數據?
例子:
TABLE
id city_name
1 Union
2 Marthasville
如果我運行以下命令:
$data = array('city_name', 'Marthasville');
//update record 2 from Marthasville to the same thing, Marthasville.
$this->db->where('id', 2);
$this->db->update('table', $data);
if($this->db->affected_rows() > 0)
{
//I need it to return TRUE when the MySQL was successful even if nothing was actually updated.
return TRUE;
}else{
return FALSE;
}
這會在每次UPDATE語句是成功的,但FALSE時沒有行被實際更新時間返回TRUE
。
每次UPDATE語句成功執行時,即使它實際上沒有更改任何記錄,我也需要它返回TRUE
。
我只是再次更新我的問題更清楚地說明,我用mysql_affected_rows遇到的問題()。希望我不會很快發佈我的問題:S – zechdc
我相信JLeafgle的回答仍然正確。如果最後一次查詢失敗,mysql_affected_rows將返回-1,否則將返回> = 0。假設這就是你所追求的,那麼只需將if語句改爲......「if($ this-> db-> affected_rows()> = 0)「 –
你是對的@Jon Stirling。我更新了Jleagle的回答以反映你的建議,但是我不能批准編輯,所以如果別人可以的話,那很好。謝謝! – zechdc