晚安,
我遇到了带有活动记录codeigniter的最后一个插入id函数的问题,它在mysql中工作正常。但是当我在SQL Server上尝试它时,结果总是返回false。请仔细看看我的代码:
function transactions_start($data) {
$this->db->insert($this->table, $data);
$id = $this->db->insert_id();
$q = $this->db->affected_rows();
if ($q > 0) {
return $id;
} else {
return FALSE;
}
}
这是$ this-> db-> last_query()
的结果select @@IDENTITY as id
var_dump()结果总是返回 bool(false)。
我正在使用MySQL和SQL Server开发此应用程序,因此我需要继续使用来自codeigniter的活动记录。
任何帮助都会很棒,提前谢谢!
答案 0 :(得分:0)
insert_id()函数返回最后一个插入行的id,因此您只需检查它是否大于0。像
一样使用它function transactions_start($data) {
$this->db->insert($this->table, $data);
$id = $this->db->insert_id();
if ($id > 0) {
return $id;
} else {
return FALSE;
}
}
参考:https://ellislab.com/codeigniter/user-guide/database/helpers.html