MySQL PDO 获取最后插入的ID

MySQL PDO 获取最后插入的ID

阅读更多:MySQL 教程

什么是MySQL PDO?

PDO是一个PHP库,用于与数据库进行交互。它是PHP 5.1版本发布的一部分,并且允许使用单个API与不同种类的数据库进行交互,包括MySQL

如何插入数据并获取最后的ID?

在MySQL中,使用AUTO_INCREMENT在插入数据时生成唯一的ID。我们可以在PDO中使用以下代码来插入数据并获取最后生成的ID。

$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);

// 执行预处理语句
if($stmt->execute()){
  // 获取刚插入数据的ID
  $last_id = $pdo->lastInsertId();
  echo "插入成功,最后生成的ID是:" . $last_id;
}
else{
  echo "插入失败";
}

在上面的代码中,我们首先准备了一个预处理语句,然后绑定了两个参数:name和email。在执行预处理语句后,我们使用lastInsertId()方法来获取刚刚插入的数据的ID。

示例说明

假设我们有一个名为 users 的表格,有三个字段: user_id, name, email,其中 user_id 字段是 AUTO_INCREMENT的。

CREATE TABLE `users` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL,
  `email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL,
  PRIMARY KEY (`user_id`)
)

现在我们要插入一条新的数据,让我们看看如何在PDO中将此操作完成并获取最后生成的ID。

$name = 'Jony Ive';
$email = 'jony@example.com';

$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);

// 执行预处理语句
if($stmt->execute()){
  // 获取刚插入数据的ID
  $last_id = $pdo->lastInsertId();
  echo "插入成功,最后生成的ID是:" . $last_id;
}
else{
  echo "插入失败";
}

当我们执行上面的代码后,输出结果将为:

插入成功,最后生成的ID是:1

这表明我们成功地插入了一条新的数据,并且自动生成的ID是1。

总结

在本文中,我们了解了通过使用PDO来插入数据并获取最后生成的ID的方法。使用lastInsertId()方法来获取最后插入的ID是非常简单和直接的,可以帮助我们在开发过程中更加快速和便捷地进行数据库操作。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程