Я использую Codeigniter 3.0.6 для создания системы. Обычно я использую affected_rows(), чтобы проверить, обновлена ли моя база данных.CI affected_rows всегда возвращает 0 даже после обновления
function update($id=0,$data=array())
{
$this->db->where($this->key, $id);
$this->db->update($this->table,$data);
if($this->db->affected_rows() > 0)return TRUE;
else return FALSE;
}
Проблема в том, что обновление не найдено, оно также вернет 0. Поскольку я хочу различать Обновленный и Нет обновления в моем коде, я использую это решение.
function update($id=0,$data=array())
{
$this->db->trans_start();
$this->db->where($this->key, $id);
$this->db->update($this->table,$data);
$this->db->trans_complete();
if ($this->db->affected_rows() > 0) {
return TRUE;
} else {
if ($this->db->trans_status() == FALSE) {
return FALSE;
}
return 'No Update';
}
}
Но даже после обновления affected_rows всегда возвращают int (0). В чем причина? Спасибо.
btw .. у вас есть только одно заявление, почему вы заключили его в транзакцию ?? –
@RahulM Я хочу различать обновленные и без обновления, я ищу решение в Интернете, и это то, что я до сих пор получаю ... – shevado