2
私は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 ..あなたは1つのステートメントしか持っていません。なぜそれをトランザクションにラップしましたか? –
@RahulM更新されたものと更新されないものとを区別したいのですが、私はソリューションのオンラインを検索します。 – shevado