3

私はネットを検索しましたが、解決策が見つかりませんでした。私の問題は、行の値が変更されたかどうか、または行が影響を受けているかどうかを更新中にどのようにすればよいかということです。

4

3 に答える 3

6

使用しaffected_rows()ます。

 $this->db->affected_rows()

「書き込み」タイプのクエリ (挿入、更新など) を実行するときに、影響を受ける行の数を表示します。

于 2013-07-17T07:00:11.313 に答える
3

CodeIgniter を使用している場合、入力フィールドの値に何らかの変更があった場合にのみデータが更新され、$this->db->affected_rows()0 より大きい値が返されます。

「name」と「email」という 2 つのフィールドがあるとします。フィールドを変更せずにフォームを送信しようとすると、$this->db->affected_rows()0 が返され、それ以外の場合は 1 が返されます。

より良いアプローチは、次を使用することです。

if ($this->db->affected_rows() >= 0) {
    return true; // your code
} else {
    return false: // your code
}
于 2014-10-01T17:25:34.317 に答える
0

これがこの目標を達成するための最も簡単な方法だと思います。

return ($this->db->affected_rows() != 1) ? false : true;
于 2017-01-31T15:58:09.897 に答える