php - 向表中插入数据并立即选择该行的ID号

标签 php mysql sql

我有一个名为“Buyers”的 MYSQL 表。我正在获取表单数据并将其插入名为 insert.php 的页面上的表中。

现在,除了表单字段的列名称之外,表中还有一个自动增量 ID 列。我想要的是;一旦我将表单数据发送到表中,我想执行一些 SQL 来获取我刚刚插入数据的行的 ID 号。

例如,我有 SQL:

INSERT INTO Buyers (name, email, job) VALUES ('$_POST[name]', '$_POST[email]', '$_POST[job]');

这将在“买家”表中创建一行,其中包含表单字段“姓名”、“电子邮件”和“工作”中的数据。

该行将有一个由自动增量生成的 ID 号。

那么,我如何才能选择确切的 ID 号呢?有什么方法可以选择表中的最新行,因为该行包含我想要的 ID 号?

最佳答案

Mysqli:mysqli_insert_id()

<?php
mysqli_query($con,"INSERT INTO Buyers (name, email, job) VALUES ('$_POST[name]', '$_POST[email]', '$_POST[job]')");
$last_id = mysqli_insert_id($con); 
?>

PDO: PDO::lastInsertId()

<?php
$stmt = $con->prepare("INSERT INTO Buyers (name, email, job) VALUES (?,?,?)");
$stmt->bind_param("sss", $_POST['name'], $_POST['email'], $_POST['job']);
$stmt->execute();
$last_id = $con->lastInsertId();
?>

假设 $con 作为连接。

Mysql:mysql_insert_id()

<?php
mysql_query("INSERT INTO Buyers (name, email, job) VALUES ('$_POST[name]', '$_POST[email]', '$_POST[job]')");
$last_id = mysql_insert_id(); 
?>

NOTE: [The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead ]

关于php - 向表中插入数据并立即选择该行的ID号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38672198/

相关文章:

php - 通过 PHP 或 Apache 从服务器端上传 HTTP 文件

php - 如何让这个登录系统更安全

mysql - 不使用 JOIN 查询多个数据库表?

PHP 简单 XML : Remove items with for

PHP 从 Mysql 数据创建 XML 文件?

php - 安卓 : send json data to the Server

mysql - 插入前检查

php - 是否可以将完整记录(整行)连接到 MySQL 中的一列中?如何?

php - 在网页之间传递数据

MySQL:使用自动提交锁定表与启动事务