Php insert_id()返回带有sqlsrv的空数组

Php insert_id()返回带有sqlsrv的空数组,php,sql-server,codeigniter,Php,Sql Server,Codeigniter,我正在使用Codeigniter 2.1.4和Ion Auth 2,当创建新用户时,不会返回ID,而是返回一个空白数组。我必须使用MSSQL,所以我使用sqlsrv驱动程序。在sqlsrv_driver.php中,代码如下所示: function insert_id() { return $this->query('select @@IDENTITY as insert_id')->row('insert_id'); } 如果我回显这个函数返回的内容,它将返回一个空白数组

我正在使用Codeigniter 2.1.4和Ion Auth 2,当创建新用户时,不会返回ID,而是返回一个空白数组。我必须使用MSSQL,所以我使用sqlsrv驱动程序。在sqlsrv_driver.php中,代码如下所示:

function insert_id()
 {
  return $this->query('select @@IDENTITY as insert_id')->row('insert_id');
 } 
如果我回显这个函数返回的内容,它将返回一个空白数组。有没有人能解决这个问题,因为到目前为止,我尝试过的方法都不管用,而且我还没有在谷歌上找到解决方案


不幸的是,客户坚持使用MSSQL,所以我不得不这样做。使用MSSQL驱动程序不起作用,因此我使用sqlsrv。当代码在MySQL上开发时,所有的代码都工作得很好,只是在切换到使用MSSQL之后,我才遇到了这个问题(除其他问题外!)。

此后,我尝试在CodeIgniter之外使用@identity,即使用纯PHP,它还返回一个空白,因此我相信一定是SQLSRV驱动程序出了问题。同样的SQL语句在SQLStudioManager中工作正常,因此我的表模式没有问题。有没有人遇到过这个问题并知道如何解决?