[英]how to fill field foreign key from field auto_increment
I have 3 table for first table user, $data i have $id and it's auto_increment, and it like auto fill on mysql but the problem is the second table and the third $id is foreign key from first table, and when i insert the data, $id from the second table and the third table is empty, how i get $id for fill $id from the second table and the third?, here the code : 我有3个表用于第一个表用户,$ data我有$ id和它的auto_increment,它就像自动填充mysql但问题是第二个表,第三个$ id是来自第一个表的外键,当我插入数据,来自第二个表和第三个表的$ id是空的,我如何从第二个表和第三个表获得$ id for fill $ id,这里代码:
if($this->form_validation->run() == TRUE){
echo 'Harap Tunggu...';
//data akun
$email = $this->input->post('email');
$pass = md5($this->input->post('password'));
//data pribadi
$nama = $this->input->post('nama_lengkap');
$alamat = $this->input->post('alamat');
$tgl_lhr = $this->input->post('date');
$no_telp = $this->input->post('no_telp');
//data pendidikan
$tingkat_pendidikan = $this->input->post('tingkat_pendidikan');
$nama_institusi = $this->input->post('namainstitusi');
$jurusan = $this->input->post('jurusan');
$no_induk = $this->input->post('nomor_induk');
$nilai = $this->input->post('nilai');
$no_telpon_institusi = $this->input->post('no_institusi');
$salt = $this->salt();
$pass = $this->makePassword($this->input->post('password'), $salt);
$data = array(
'id' => $id,
'email' => $email,
'password' => $pass,
'salt' => $salt
);
$data2 = array(
'nama_lengkap' => $nama,
'tanggal_lahir' => $tgl_lhr,
'alamat' => $alamat,
'no_telpon' => $no_telp,
'id' => $id
);
$data3 = array(
'tingkat_pendidikan' => $tingkat_pendidikan,
'nama_institusi' => $nama_institusi,
'jurusan' => $jurusan,
'no_induk' => $no_induk,
'nilai' => $nilai,
'no_telpon_institusi' => $no_telpon_institusi,
'id' => $id
);
$this->db->insert('user',$data);
$id = $this->db->insert_id();
$data2['id'] = $data3['id'] = $id;
$this->db->insert('data_pribadi',$data2);
$this->db->insert('pendidikan',$data3);
$this->session->set_flashdata("success","your account has been created");
$this->session->set_flashdata('id', $id);
redirect('upload_foto/index','refresh');
}
In order to fetch the last id inserted you can use the below codes. 要获取插入的最后一个ID,您可以使用以下代码。 call
$this->db->lastInsertId();
调用
$this->db->lastInsertId();
check this link 检查此链接
lastInsertId
function lastInsertId
函数 lastInsertId
method. lastInsertId
方法的返回值分配$ data2 ['id']和$ data3 ['id']。 <?php
if($this->form_validation->run() == TRUE){
echo 'Harap Tunggu...';
//data akun
$email = $this->input->post('email');
$pass = md5($this->input->post('password'));
//data pribadi
$nama = $this->input->post('nama_lengkap');
$alamat = $this->input->post('alamat');
$tgl_lhr = $this->input->post('date');
$no_telp = $this->input->post('no_telp');
//data pendidikan
$tingkat_pendidikan = $this->input->post('tingkat_pendidikan');
$nama_institusi = $this->input->post('namainstitusi');
$jurusan = $this->input->post('jurusan');
$no_induk = $this->input->post('nomor_induk');
$nilai = $this->input->post('nilai');
$no_telpon_institusi = $this->input->post('no_institusi');
$salt = $this->salt();
$pass = $this->makePassword($this->input->post('password'), $salt);
$data = array(
'id' => $id,
'email' => $email,
'password' => $pass,
'salt' => $salt
);
$data2 = array(
'nama_lengkap' => $nama,
'tanggal_lahir' => $tgl_lhr,
'alamat' => $alamat,
'no_telpon' => $no_telp,
'id' => $id // Undefined
);
$data3 = array(
'tingkat_pendidikan' => $tingkat_pendidikan,
'nama_institusi' => $nama_institusi,
'jurusan' => $jurusan,
'no_induk' => $no_induk,
'nilai' => $nilai,
'no_telpon_institusi' => $no_telpon_institusi,
'id' => $id // Undefined
);
$this->db->insert('user',$data);
$id = $this->db->insert_id();
$data2['id'] = $data3['id'] = $id;
$this->db->insert('data_pribadi',$data2);
$this->db->insert('pendidikan',$data3);
$this->session->set_flashdata("success","your account has been created");
$this->session->set_flashdata('id', $id);
redirect('upload_foto/index','refresh');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.