【发布时间】:2013-07-25 11:27:02
【问题描述】:
我整天都在为此苦苦挣扎。
如何将第一次插入时的insert_id() 使用到模型中的另一个函数中?
我尝试了会话,但无法正常工作。
我什么都试过了。
我的第一个插入看起来像这样:
$aanbdata = array(
'Aanbieding' => $this->input->post('aanbiedingnaam'),
'Tekst' => $this->input->post('aanbiedingomschrijving'),
'Prijs' => $this->input->post('aanbiedingprijs'),
'Conditie' => $this->input->post('aanbiedingconditie'),
'prijssoort' => $this->input->post('prijsopties'),
);
$this->db->insert('Aanbiedingen', $aanbdata);
我试过了:
session_start();
$this->session->set_userdata('aanbiedingid', $this->db->insert_id());
但我的 id 在自动递增时落后 1,所以当我插入一行 id=4 时,会话是 id=3。
为什么?
编辑:
我的模型函数:
public function addaanbieding()
{
$aanbdata = array(
'Aanbieding' => $this->input->post('aanbiedingnaam'),
'Tekst' => $this->input->post('aanbiedingomschrijving'),
'Prijs' => $this->input->post('aanbiedingprijs'),
'Conditie' => $this->input->post('aanbiedingconditie'),
'prijssoort' => $this->input->post('prijsopties'),
);
$this->db->insert('Aanbiedingen', $aanbdata);
$this->addimages($image_data, $this->db->insert_id());
$catid = $this->input->post('categorie');
$bedrijfid = $this->session->userdata('idbedrijven');
$bedrijfaanb = array(
'idbedrijven' => $bedrijfid,
'idaanbiedingen' => $this->session->userdata('aanbiedingid'),
'idaanbiedingcat' => $catid
);
$this->db->insert('bedrijfaanbiedingen', $bedrijfaanb);
}
public function addimages($image_data)
{
$insert_data = array(
'fotonaam' => $image_data['file_name']
);
$this->db->insert('fotoaanbiedingen', $insert_data);
$fotoid = $this->db->insert_id();
$aanbiedingid = $this->session->userdata('aanbiedingid'); //this does nto work
$to_aanbiedingfotos = array(
'idaanbiedingen' => $aanbiedingid,
'idfotoaanbiedingen' => $fotoid
);
$this->db->insert('aanbiedingfotos', $to_aanbiedingfotos);
}
【问题讨论】:
-
为什么要为此使用会话?
-
因为我不知道另一种方式。也许是因为我需要做点别的事情,我整天都在忙这个。
-
@AnkitPokhrel 阅读我的问题。
标签: php mysql codeigniter session insert