【问题标题】:Obtain UserID after inserting new record插入新记录后获取UserID
【发布时间】:2017-02-15 04:02:26
【问题描述】:

我目前正在使用一个表单,您可以在其中创建新用户。您将指定用户名、名字等,并将一条新记录插入到数据库的用户表中。

在创建用户之后,接下来会执行更多步骤,但对于这些在会话中自动生成的 UserID 将非常有用。

我怎样才能做到这一点?我尝试了以下方法:

sqlsrv_query($conn1,"INSERT INTO Users (Username, Firstname, Lastname, JobTitle)
VALUES ('$_POST[Username]', '$_POST[Firstname]', '$_POST[Lastname]', '$_POST[JobTitle]'); SELECT SCOPE_IDENTITY() AS UserID;");

$result = sqlsrv_query($conn1); $next_result = sqlsrv_next_result($result); $row = sqlsrv_fetch_array($result);
$_SESSION['UserID'] = $result;

【问题讨论】:

标签: php sql sql-server


【解决方案1】:

在您的查询中使用OUTPUT INSERTED

更改您的代码,

$result =  sqlsrv_query($conn1,"INSERT INTO Users 
(Username, Firstname, Lastname, JobTitle) OUTPUT INSERTED.UserID 
VALUES ('$_POST[Username]', '$_POST[Firstname]', '$_POST[Lastname]', '$_POST[JobTitle]'); 

你会在$result得到最后插入的id

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-26
    • 1970-01-01
    • 2018-10-08
    • 1970-01-01
    • 2018-11-06
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    相关资源
    最近更新 更多