【问题标题】:PHP SQL assign LAST_INSERT_ID() into a variablePHP SQL 将 LAST_INSERT_ID() 赋值给一个变量
【发布时间】:2020-11-24 11:58:03
【问题描述】:

我正在尝试将LAST_INSERT_ID() 分配给一个变量。当我使用LAST_INSERT_ID() 时它可以工作,但是当我使用$id = LAST_INSERT_ID(); 时它不起作用。

作品:

INSERT INTO pooruser (userid, name) values (LAST_INSERT_ID(), 'Jack')

不起作用:

$id = LAST_INSERT_ID(); 
INSERT INTO freeuser (userid, name) values ('$id', 'Jack')

我不确定为什么它不起作用。如果有人可以帮助我,我将不胜感激!

此外,如果我可以让它工作以将其存储在会话中,我会做$_SESSION('id') = $id; 吗?

再次感谢任何帮助!

【问题讨论】:

    标签: php mysql session-variables last-insert-id


    【解决方案1】:

    你使用LAST_INSERT_ID()错了:

    $stmt = $db->prepare("...");
    $stmt->execute();
    $id = $db->lastInsertId();
    

    如果你想用 SQL 而不是 PDO API 来做,你可以像普通的选择查询一样做:

    $stmt = $db->query("SELECT LAST_INSERT_ID()");
    $lastId = $stmt->fetchColumn();
    

    资源:PDO get the last ID inserted

    这里是其他连接的例子:https://www.w3schools.com/php/php_mysql_insert_lastid.asp

    对于会话:

    $_SESSION['id'] = $id;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-07
      • 2020-06-29
      • 2021-12-04
      • 1970-01-01
      • 2023-02-16
      相关资源
      最近更新 更多