Ibrahim Alsaman Ibrahim Alsaman - 2 years ago 103
SQL Question

codeigniter auto increment foreignkey

In my application i have function to insert data to mysqldb and have more one image for one news and in database I make news id as foreign key in upload table and all inserts is work fine but the problem news FK in upload table when i insert data the first row inserted take the value i set it and the other take auto increment so the next you found code :

the inserted data in upload table

upload table data

as you se the correct data is row have id 31 and the other is auto increment

the code I insert by him ;

the controller

public function insertNews() {
$ad_ne_data = array(
'titel' => $this->input->post('ad_news_title') ,
'content' => $this->input->post('ad_news_content') ,
'news_category_id' => $this->input->post('ad_news_category') ,
'img_url' => $this->do_one_upload()[1]['full_path'],
'created_at' => date("Y-m-d")

while($i < count($this->do_one_upload())) {
// var_dump($this->do_one_upload());
$ad_imgs_news =array(
'title' => $this->do_one_upload()[$i]['client_name'],
'file_path' => $this->do_one_upload()[$i]['full_path'],
'type' => $this->do_one_upload()[$i]['file_type'],
'size' => $this->do_one_upload()[$i]['file_size'],
'img_news_id' => $this->newsModel->getLastNewsId()

the news model

the get Last news id inserted ;

public function getLastNewsId()
$last_id = $this->db->insert_id();
return $last_id;

the upload inset method in upload model

public function addUpload($data)
// $this->db->set('name', $name);
$this->db->insert('upload', $data);

So where the problem are in db or in code or???


Answer Source

try to return

$last_id = $this->db->insert_id();



Get the insert_id immediately after the query in addNews function.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download