当你访问我的网站时,我有一个带有按钮的主页:启动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->pdo->('user_id');是我正在测试的东西!,现在我的问题是。如何从表用户返回最后插入的id。
我需要在下一页显示出来。(见//头)。
我不能用其他查询(如:SELECT MAX ID或GetLastInsertId )来完成这一任务。
这是因为,当另一个人也开始了这个过程时,他就会突然有了另一个身份。
我如何让这个人保持正确的身份。
发布于 2015-06-24 08:38:33
$this->pdo->lastInsertId();
发布于 2015-06-24 08:38:43
尝尝这个。手动PDO::lastInsertId
$stmt = $db->prepare("...");
$stmt->execute();
$id = $db->lastInsertId();发布于 2015-06-24 08:44:17
您可以通过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
https://stackoverflow.com/questions/31021656
复制相似问题