If you want the actual rows, rather than the number of rows affected , just extract them before performing the update.
Then you can compare the update values with the selected values and filter them by difference.
CodeIgniter example:
$arr_where = array('date >=' => date('Y-m-d H:i:s'));
$query = $this->db->get_where('table', $arr_where);
$arr_update = array('status' => 'TRUE');
if ($this->db->update('table', $arr_update, $arr_where)) {
foreach($query->result() as $row)
foreach(array_keys($arr_update) as $h)
if ($row->$h != $arr_update[$h])
echo "This row ({$row->id}) had it {$h} changed!<br />";
}
Sorry for delivering the solution in CodeIgniter, but I found this to be the easiest example.
, $this->db, . .