CodeIgniter フレームワークを使用して Web サイトを作成しました。ユーザー システムがあり、データベースに最後の 5 回のログインのみを保持しようとしています。ここに私が書いたコードがあります:
$logins = array(
'uid' => $user['id'],
'time' => now(),
'ip' => $this->input->ip_address()
);
$this->db->insert('logins', $logins);
$this->db->where('uid', $user['id']);
$logins_no = $this->db->count_all_results('logins');
$logins_deleted = $logins_no - 5;
if ($logins_deleted > 0) {
$this->db->where('uid', $user['id']);
$this->db->order_by('time asc');
$this->db->limit($logins_deleted);
$this->db->delete('logins');
}
したがって、基本的には、ユーザーが接続しているときに日付と IP を挿入し、データベースからログイン テーブルにあるユーザーのすべてのレコードをカウントします。ログインが 5 件を超える場合は、削除する必要がある結果の数を数えます。
なぜ機能しないのですか?