I often need to know the id of the last inserted record into a table. In the past, I’ve used a PHP function:
function getLastInserted($table, $id) { $query = "SELECT $id as maxID from $table where $id = LAST_INSERT_ID()"; $result = $this->runQuery($query); $row = mysql_fetch_row($result); return $row[0]; } |
To duplicate this using CodeIgniter’s Active Record, I could write:
function getLastInserted($table, $id) { $this->db->select_max($id); $Q = $this->db->get($table); $row = $Q->row_array(); return $row[$id]; } |
But, I learned that there is an even faster way that uses one of CodeIgniter’s Helper functions. Immediately after a record has been inserted into the database, I simply call:
$id = $this->db->insert_id(); |
Although, I am not sure how CodeIgniter knows which field is the primary key, it seems to work.


