Php 带有SQL Server的codeigniter上的最后一个插入ID返回false
晚上好, 我在使用active record codeigniter的最后一个插入id函数时遇到了问题,它在mysql中运行良好。但当我在SQL Server上尝试时,结果总是返回false。请查看我的代码:Php 带有SQL Server的codeigniter上的最后一个插入ID返回false,php,sql-server,codeigniter,Php,Sql Server,Codeigniter,晚上好, 我在使用active record codeigniter的最后一个插入id函数时遇到了问题,它在mysql中运行良好。但当我在SQL Server上尝试时,结果总是返回false。请查看我的代码: function transactions_start($data) { $this->db->insert($this->table, $data); $id = $this->db->insert_id(); $q = $this
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()的结果
var_dump()结果总是返回bool(false)
我正在使用MySQL和SQL Server开发这个应用程序,所以我需要继续使用codeigniter的活动记录
任何帮助都会很好,提前谢谢 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;
}
}
参考:在这里定义
$this->table
???Debug$this->db->insert($this->table,$data);通过写入$this->db->last_query();死亡插入后。然后看看有什么问题。可能是您的表名不正确。@Saty抱歉,回答晚了,我正在定义构造函数。私人$table@UmairHamid好的,我会这样做。它返回“字符串或二进制数据将被截断”。生成的查询是什么?使用$this->db->last\u query
并在此处发布查询
function transactions_start($data) {
$this->db->insert($this->table, $data);
$id = $this->db->insert_id();
if ($id > 0) {
return $id;
} else {
return FALSE;
}
}