首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取当前插入ID的ID

获取当前插入ID的ID
EN

Stack Overflow用户
提问于 2015-06-24 08:36:30
回答 5查看 1K关注 0票数 3

当你访问我的网站时,我有一个带有按钮的主页:启动enquete。单击该按钮时,您将看到enquete。

同时,当你点击那个按钮的时候。数据库中插入了一个ID。

Index.php:

代码语言:javascript
复制
        <form method="POST">
            <input type="hidden" name="x">
            <input type="submit" value="Go to enquete">
        </form>
<?php
    if(isset($_POST['x'])){
        $test = $database->insert_user_id();
        //header('Location: enquete/page1.php');
    }

职能如下:

代码语言:javascript
复制
function insert_user_id(){
        $sql = "INSERT INTO user (user_id) VALUES (DEFAULT)";
        $sth = $this->pdo->prepare($sql);
        $sth->execute();
        return $this->pdo->('user_id');
}

返回$this->pdo->('user_id');是我正在测试的东西!,现在我的问题是。如何从表用户返回最后插入的id。

我需要在下一页显示出来。(见//头)。

我不能用其他查询(如:SELECT MAX IDGetLastInsertId )来完成这一任务。

这是因为,当另一个人也开始了这个过程时,他就会突然有了另一个身份。

我如何让这个人保持正确的身份。

EN

回答 5

Stack Overflow用户

发布于 2015-06-24 08:38:33

使用PDO::lastInsertId

$this->pdo->lastInsertId();

票数 1
EN

Stack Overflow用户

发布于 2015-06-24 08:38:43

尝尝这个。手动PDO::lastInsertId

代码语言:javascript
复制
$stmt = $db->prepare("...");
$stmt->execute();
$id = $db->lastInsertId();
票数 1
EN

Stack Overflow用户

发布于 2015-06-24 08:44:17

您可以通过Get方法轻松地做到这一点。

但是,您也可以通过稍微调整代码来做到这一点。

代码语言:javascript
复制
<form method="POST">
        <input type="hidden" name="x">
        <input type="submit" value="Go to enquete">
    </form>
<?php
if(isset($_POST['x'])){
    $id = $_POST['X'];
    $test = $database->insert_user_id($id);
    //header('Location: enquete/page1.php');
}

并将您的功能更改为

代码语言:javascript
复制
function insert_user_id($id){
    $sql = "INSERT INTO user (user_id) VALUES ('".$id. "')";
    $sth = $this->pdo->prepare($sql);
    $sth->execute();
    return $this->pdo->('user_id');
}

编辑:我失败了。

查看此链接,退出http://php.net/manual/en/function.mysql-insert-id.php

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31021656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档