从PHP中的MS SQL Server Query返回插入记录的ID

时间:2015-04-11 17:21:00

标签: php sql-server

我正在尝试使用" OUTPUT INSERTED.ID"从此查询返回id结果。在我的SQL Server Management Studio中,我获得了新插入行的id。我需要返回那个结果。

我正在尝试这个,我知道连接正在运行,因为它正在插入表中。但是$ value仍然会返回0。

public function Insert($NewSql) {
$value = '0';
$params = array(array($value,SQLSRV_PARAM_OUT));
$stmt = sqlsrv_query($this->conn, $NewSql, $params);
return $value;

}

参数NewSql =" Insert Into Test(Col1)OUTPUT INSERTED.ID VALUES(' SomeValues')&#34 ;;

由于某种原因,$ value仍然返回0。

1 个答案:

答案 0 :(得分:0)

想出来。

 public function Insert($IncomingSql) {
    //Append the Select for Scope_Identity to IncomingSql
    $sql = $IncomingSql.'; SELECT SCOPE_IDENTITY();';
    $Result = sqlsrv_query($conn,$sql); 
    sqlsrv_next_result($Result); 
    sqlsrv_fetch($Result);

    return sqlsrv_get_field($Result, 0); 

}

然后将其称为

$ID = Insert("Insert Into Table (SomeColumn) Values ('SomeValue)") and $ID will have the last inserted ID.