通过 PHP 获取 MS SQL Server 中最后一个条目的 ID
Get ID of Last Entery in MSSQL Server via PHP
你好,我需要一点帮助。
我有一个 MSSQL 服务器,我需要上次输入的 ID。
我的PHP代码是:
$conn = sqlsrv_connect( $serverName, $connectionInfo);
$sqlnextid = "Select IDENT_CURRENT('dbo.Person')";
echo $sqlnextid;
$nextid = sqlsrv_query( $conn, $sqlnextid );
echo $nextid;
不幸的是 $nextid
仅 returns "Resource id#3"
而不是 SQL Management Studio 中的正确 ID
。 sql 查询 "Select IDENT_CURRENT('dbo.Person')"
工作正常并给出正确答案 - (33).
我的错误在哪里?提前致谢:)
您需要从已执行的查询 uisng sqlsrv_fetch_array()
中获取数据。如文档中所述,函数 sqlsrv_query()
returns 语句资源或 false
如果无法创建语句 and/or 已执行。
附带说明,请始终检查 sqlsrv_connect()
和 sqlsrv_query()
调用的结果。
<?php
...
// Connection
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
echo "Error (sqlsrv_connect): ".print_r(sqlsrv_errors(), true);
exit;
}
// Query
$sqlnextid = "SELECT IDENT_CURRENT('dbo.Person') AS [CurrentIdent]";
$stmt = sqlsrv_query( $conn, $sqlnextid );
if( $stmt === false ) {
echo "Error (sqlsrv_query): ".print_r(sqlsrv_errors(), true);
exit;
}
// Data
$ident = 0;
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
$ident = $row["CurrentIdent"];
}
echo $ident;
...
?>
sqlsrv_query
returns returns a statement resource on success and FALSE if an error occurred.
您可以使用 sqlsrv_fetch_object
访问结果。
$sqlnextid = "SELECT IDENT_CURRENT('dbo.Person') AS LastId"
$result = sqlsrv_query($conn, $sqlnextid);
$row = sqlsrv_fetch_object($result)
echo $row->LastId;
你好,我需要一点帮助。
我有一个 MSSQL 服务器,我需要上次输入的 ID。
我的PHP代码是:
$conn = sqlsrv_connect( $serverName, $connectionInfo);
$sqlnextid = "Select IDENT_CURRENT('dbo.Person')";
echo $sqlnextid;
$nextid = sqlsrv_query( $conn, $sqlnextid );
echo $nextid;
不幸的是 $nextid
仅 returns "Resource id#3"
而不是 SQL Management Studio 中的正确 ID
。 sql 查询 "Select IDENT_CURRENT('dbo.Person')"
工作正常并给出正确答案 - (33).
我的错误在哪里?提前致谢:)
您需要从已执行的查询 uisng sqlsrv_fetch_array()
中获取数据。如文档中所述,函数 sqlsrv_query()
returns 语句资源或 false
如果无法创建语句 and/or 已执行。
附带说明,请始终检查 sqlsrv_connect()
和 sqlsrv_query()
调用的结果。
<?php
...
// Connection
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false ) {
echo "Error (sqlsrv_connect): ".print_r(sqlsrv_errors(), true);
exit;
}
// Query
$sqlnextid = "SELECT IDENT_CURRENT('dbo.Person') AS [CurrentIdent]";
$stmt = sqlsrv_query( $conn, $sqlnextid );
if( $stmt === false ) {
echo "Error (sqlsrv_query): ".print_r(sqlsrv_errors(), true);
exit;
}
// Data
$ident = 0;
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
$ident = $row["CurrentIdent"];
}
echo $ident;
...
?>
sqlsrv_query
returns returns a statement resource on success and FALSE if an error occurred.
您可以使用 sqlsrv_fetch_object
访问结果。
$sqlnextid = "SELECT IDENT_CURRENT('dbo.Person') AS LastId"
$result = sqlsrv_query($conn, $sqlnextid);
$row = sqlsrv_fetch_object($result)
echo $row->LastId;