Php 抓取最后一个插入id sqlsrv
我正在编写一个php代码,其中我插入了两个表,并希望从我插入的第一个表中获取id,现在我遇到了以下错误: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
调用未定义的函数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);
}
...