我正在使用PHP脚本将数据发送到我的数据库。
这是我的剧本:
<?php
session_start();
$correct = true;
$_SESSION['user_id'];
$firstname = $_POST['firstname'] ;
$lastname = $_POST['lastname'] ;
if($correct){
$db = new PDO('mysql:host=localhost;dbname=database', 'root', '');
$query = "INSERT INTO names(user_id, firstname, lastname) VALUES (?, ?, ?)";
$stmt = $db->prepare($query);
$stmt->execute(array($_SESSION['user_id'], $firstname, $lastname));
header('Location: ../names.php');
}
else
{
echo "<p>Error</p>";
}
?>
脚本工作正常但在执行SQL语句后我想将用户发送到用户可以看到他输入的数据的页面。
在当前状态下,脚本将用户发送到names.php
。我想将用户发送到names.php?id=8
。
id
列是自动增量。
有人知道如何将用户发送到已执行语句的id
吗?
答案 0 :(得分:3)
答案 1 :(得分:2)
您可以通过此方式获取最后插入的ID
$id = $db->lastInsertId();
然后您可以将其传递给header
方法。如下所示,
header('Location: ../names.php?id='.$id);
答案 2 :(得分:0)
您可以尝试从表中选择id进行另一个查询,其中user_id = $ _ SESSION [&#39; user_id&#39;]在Insert语句之后。
然后你可以在你的链接上使用结果names.php?id = [选择结果]