1

可能重复:
php/MySQL 插入行然后获取 'id'

如何使用 INSERT INTO 获取当前 ID 号?

mysql_query("INSERT INTO mytable(id,a,b) VALUES(null,3,current ID) ");

mysql_query("
    INSERT INTO tablo(id,a,b)
    VALUES(null,3,this ID number)
            ^            ^
            |            |
            | <Copy ID>  |
            |____________|
");
4

3 回答 3

4

Use mysqli_insert_id(),它返回上次查询中使用的自动生成的 id。

阅读“ PHP mysql_insert_id() 函数”或“ mysql_insert_id”。

例子:

<?php
$query= "INSERT INTO table_name VALUES ('a','b','c')";
$result = mysql_query($query);
echo "INSERT statement ID is" . mysql_insert_id();
?>

并阅读mysql_insert_id页面上 PHP 文档中的红色大框,以mysqli.

请参阅PHP 文档以获取更多参考。

于 2012-10-03T17:10:58.950 回答
1

基本上你可以使用该mysqli_insert_id功能。

如 PHP 手册中所述:

mysqli_insert_id() 函数返回由对具有 AUTO_INCREMENT 属性的列的表的查询生成的 ID。如果最后一个查询不是 INSERT 或 UPDATE 语句,或者修改后的表没有具有 AUTO_INCREMENT 属性的列,则此函数将返回零。

于 2012-10-03T17:11:43.157 回答
0

您可以尝试获取所选表中使用的序列的下一个值。请检查 MySQL 是否有任何函数来获取这个值。如果在执行 SQL 语句时需要这个数字,那么使用 PHP 函数是不可能的。

选中“使用 MySQL 查询获取自动增量值”。

于 2012-10-03T17:13:17.183 回答