gpt4 book ai didi

php - Microsoft 的 PHP sqlsrv 驱动程序在查询 "SELECT SCOPE_IDENTITY() AS id"时不返回任何结果

转载 作者:可可西里 更新时间:2023-11-01 12:33:55 24 4
gpt4 key购买 nike

此查询使用 php_mssql 驱动程序工作正常:

INSERT INTO Table(columnName) VALUES ('text');
SELECT SCOPE_IDENTITY() AS id;

表确实有一个 id 列,这是一个标识。我将执行该查询,并获取表中的最后一个 ID。

如果使用 Microsoft 的 php_sqlsrv 驱动程序执行查询,则相同的代码将不起作用。

我在执行查询(sqlsrv_query 函数)时没有收到任何错误,但在调用 sqlsrv_fetch_array 时收到以下错误:“查询的事件结果不包含任何字段”

我在谷歌上搜索了很多,没有找到答案,令我惊讶的是以前没有人遇到过这个问题,似乎没有人在使用这个驱动程序,尽管它是“官方”驱动程序自 PHP 5.3 发布...

谢谢。

最佳答案

在最初的 CTP 中,字段索引从 1 开始。后来更改为从 0 开始。

尝试这样的事情:

// connection to the dbserver

$result = sqlsrv_query("INSERT INTO Table(columnName) VALUES ('text'); SELECT SCOPE_IDENTITY() AS ID");

echo "The last insert_id is".lastId($result);

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

关于php - Microsoft 的 PHP sqlsrv 驱动程序在查询 "SELECT SCOPE_IDENTITY() AS id"时不返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4336473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com