2
나는 Codeigniter 3.0.6을 사용하여 시스템을 구축합니다. 대개 affected_rows()를 사용하여 데이터베이스가 업데이트되었는지 여부를 확인합니다.CI affected_rows는 0을 반환 한 후에도 항상 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