php - 将最后一个 id 插入的变量发送到 php 中的另一个页面

标签 php mysql pdo last-insert-id

在这段代码中,我必须在数据库中插入一些值,然后我必须获取在数据库中插入的最后一个ID并将其发送到另一个页面以显示该ID行的值。这是我在数据库中插入数据的代码:

try {
    $con = new PDO("mysql:host=localhost;dbname=resume", "root", "");
    $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql_basic = "INSERT INTO user_basic_info (first_name,last_name,address,profile_pic,resume_file)
VALUES ('$FirstName','$LastName','$Address','$pic_destination','$resume_destination')";

    $con->exec($sql_basic);
    $last_id = $con->$lastInsertId();
} catch (PDOException $e) {
    echo $sql_basic . "<br>" . $e->getMessage() . "<br>";
}

$con = null;

header('Location: DB-Read.php?id=' . $last_id);

在另一个 php 页面中我必须采取 $last_id并使用它。这是我的代码:

try {
    $user_id = $id;
    $conn = new PDO("mysql:host=localhost;dbname=resume", "root", "");
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $conn->prepare("SELECT first_name FROM user_basic_info where user_id = ".$user_id);
    $stmt->execute();
    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);

    echo "this is username: " . $result;

} catch (PDOException $e) {
    echo "Error: " . $e->getMessage();
}

$conn = null;

header('Location: show-edit.php?id=' . $last_id);

首先$lastInsertId()不工作! 之后,我的做法是否正确$last_id从第一页开始?

最佳答案

lastInsertIdPDO 对象的一个​​方法。您需要调用 $conn->lastInsertId();

您给定的语法 $conn->$lastInsertId(); 是有效的,但是,它并没有达到您的预期。它认为 $lastInsertId 是一个包含要调用的方法名称的变量。下面的例子也可以工作:

$method_name = 'lastInsertId';
$conn->$method_name();

请注意,您的解决方案使任何人都可以获取表中的任何行。考虑使用 session 。

关于php - 将最后一个 id 插入的变量发送到 php 中的另一个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38549164/

相关文章:

php白屏死机

PHP 语句 : while($row = mysql_fetch_array($query))

mysql - 在非对象上调用成员函数 result_array()

php - MySQL:查询以获取最高月份的所有行

php - SQL 排序方式 ... ASC

php - SQLSTATE[HY000] : OCISessionBegin: ORA-21561: OID generation failed

php - 在 MySQL 中选择随机查询

php - 带有 DISTINCT 关键字的 MySQL 查询

php - 如何使用 PHP 从 iTunes Search API JSON 页面中提取值?

php - 我想开发一个制作 vAnimated 视频的应用程序如何进行?