我有一个名为“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();
?>
关于php - 向表中插入数据并立即选择该行的ID号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38672198/