【问题标题】:Return ID of inserted record from MS SQL Server Query in PHP从 PHP 中的 MS SQL Server 查询返回插入记录的 ID
【发布时间】:2015-04-11 17:20:59
【问题描述】:

我正在尝试使用“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')";

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

【问题讨论】:

标签: php sql-server


【解决方案1】:

想通了。

 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.

【讨论】:

    猜你喜欢
    • 2013-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 2010-09-12
    相关资源
    最近更新 更多