获取当前插入ID的ID

时间:2015-06-24 08:36:31

标签: php html mysql css database

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

与此同时,当您点击该按钮时。已在数据库中插入ID。

的index.php:

        <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');
    }

功能:

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-&gt; pdo-&gt;('user_id');是我正在测试的东西! 现在我的问题是。如何从表用户返回最后插入的id  我需要在下一页上显示它。 (见//标题)。

我不能使用其他查询执行此操作,例如:SELECT MAX IDGetLastInsertId 这个因为,当其他人也开始入伍时,他会突然有另一个身份。

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

5 个答案:

答案 0 :(得分:1)

使用PDO::lastInsertId

$这 - &GT; pdo-&GT; lastInsertId();

答案 1 :(得分:1)

试试这个。手动PDO::lastInsertId

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

答案 2 :(得分:0)

您可以通过Get方法轻松完成此操作。

但你也可以通过稍微调整你的代码来做到这一点。

<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');
}

并将你的功能改为

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

答案 3 :(得分:0)

如果我理解正确,你想要插入数据库的行的id,并将用户重定向到那个?

的index.php

if(isset($_POST['x'])){
    $enqueteId = $database->insert_user_id();
    header('Location: enquete/page1.php?id=' . $enqueteId);
}

功能:

function insert_user_id(){
        $sql = "INSERT INTO user (user_id) VALUES (DEFAULT)";
        $sth = $this->pdo->prepare($sql);
        $sth->execute();
        return $this->pdo->lastInsertId();
}

答案 4 :(得分:-1)

你可以使用PHP mysqli_insert_id()函数返回表的最后插入的id

欲了解更多信息,请浏览以下链接

http://www.w3schools.com/php/func_mysqli_insert_id.asp