【发布时间】:2015-12-15 19:43:15
【问题描述】:
我正在使用 codeigniter 并一次插入一条记录。但问题是 $this->db->insert_id();每次都返回 0,但是记录已成功创建。我无法弄清楚。这是常见的情况还是我犯了一些愚蠢的错误。我使用 email_id 作为主键,使用 mobile no 作为唯一键。
这是我的模态代码:
function signup_insert($data) {
$result = $this->db->insert('registration_detail', $data);
$insert_id = $this->db->insert_id();
return $insert_id;
}
这是我的控制器代码:
function insert_signup() {
$email = $this->input->get('email');
$name = $this->input->get('name');
$password1 = $this->input->get('password1');
$password2 = $this->input->get('password2');
$phone = $this->input->get('phone');
$country = $this->input->get('country');
$data = array(
'email' => $email,
'name' => $name,
'pwd' => $password1,
'phone' => $phone,
'country' => $country
);
$insert_id = $this->signup->signup_insert($data);
print_r($insert_id);
}
【问题讨论】:
-
我刚做了,每次还是返回0。
-
您使用的是什么数据库? MySQL?
-
对,就是 $db['default']['dbdriver'] = 'mysql';
-
在
signup_insert()中打印insert id,你就知道是生成了不返回还是根本没有生成 -
这一定是你的mysql有问题,因为mysql的insert_id()使用了
mysql_insert_id函数。你有 AUTO_INCREMENT 行吗?
标签: php mysql codeigniter