Php 抓取最后一个插入id sqlsrv

Php 抓取最后一个插入id sqlsrv,php,sql,sql-server,sqlsrv,Php,Sql,Sql Server,Sqlsrv,我正在编写一个php代码,其中我插入了两个表,并希望从我插入的第一个表中获取id,现在我遇到了以下错误:调用未定义的函数sqlsrv_field()。我正试图从表例程中获取例程id 代码: 试试这个: function lastId($queryID) { sqlsrv_next_result($queryID); sqlsrv_fetch($queryID); return sqlsrv_get_field($queryID, 0); } $lastInsertedI

我正在编写一个php代码,其中我插入了两个表,并希望从我插入的第一个表中获取id,现在我遇到了以下错误:
调用未定义的函数sqlsrv_field()
。我正试图从表
例程
中获取
例程id

代码:

试试这个:

function lastId($queryID) {
    sqlsrv_next_result($queryID);
    sqlsrv_fetch($queryID);
    return sqlsrv_get_field($queryID, 0);
}

$lastInsertedId = lastId($stmt);
试试这个:

function lastId($queryID) {
    sqlsrv_next_result($queryID);
    sqlsrv_fetch($queryID);
    return sqlsrv_get_field($queryID, 0);
}

$lastInsertedId = lastId($stmt);

没有名为
sqlsrv\u field()
的函数。相反,请使用:

这将从根本上解决你的问题。但是,您的代码容易受到SQL注入的攻击。不要直接将值赋予SQL查询,而是考虑使用准备好的语句。 有很多关于这方面的文章,下面是我在快速搜索中找到的一篇:


没有名为
sqlsrv\u field()
的函数。相反,请使用:

这将从根本上解决你的问题。但是,您的代码容易受到SQL注入的攻击。不要直接将值赋予SQL查询,而是考虑使用准备好的语句。 有很多关于这方面的文章,下面是我在快速搜索中找到的一篇:

...

sqlsrv_next_result($query);

bool fetchStatus = sqlsrv_fetch($query);

if(fetchStatus === false) {
   die( print_r( sqlsrv_errors(), true));
}

if(fetchStatus === null) {
   // Some work when there are no results in the result set
} else {
   $id = sqlsrv_get_field($query, 0);
}

...