php mysql_insert_id()

Posted 。。小兵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php mysql_insert_id()相关的知识,希望对你有一定的参考价值。

mysql_insert_id

mysql_insert_id()返回给定的 link_identifier中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号。如果没有指定 link_identifier,则使用上一个打开的连接。

php mysql_insert_id()返回数据库最新id实现方法,有需要同学可参考一下,代码如下: 

mysql_insert_id()

mysql_insert_id() 函数返回上一步 INSERT 操作产生的 ID,如果上一查询没有产生 AUTO_INCREMENT 的 ID,则 mysql_insert_id() 返回 0.

语法:mysql_insert_id(connection)

参数connection,可选,规定 MySQL 连接,如果未规定,则使用上一个连接.

mysql_insert_id() 返回给定的 connection 中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号,如果没有指定 connection,则使用上一个打开的连接.

如果需要保存该值以后使用,要确保在产生了值的查询之后立即调用 mysql_insert_id(),代码如下:

<?php 
    $con = mysql_connect("localhost", "hello", "321"); 
    if (!$con) 
    { 
     die(‘Could not connect: ‘ . mysql_error()); 
    } 
      
    $db_selected = mysql_select_db("test_db",$con); 
    //开源代码phprm.com 
    $sql = "INSERT INTO person VALUES (‘Carter‘,‘Thomas‘,‘Beijing‘)"; 
    $result = mysql_query($sql,$con); 
    echo "ID of last inserted record is: " . mysql_insert_id(); 
      
    mysql_close($con); 

 mysql_insert_id() 返回给定的 link_identifier 中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号,如果没有指定 link_identifier,则使用上一个打开的连接,如果上一查询没有产生 AUTO_INCREMENT 的值,则 mysql_insert_id() 返回 0,如果需要保存该值以后使用,要确保在产生了值的查询之后立即调用 mysql_insert_id().

LAST_INSERT_ID()

MySQL也提供了这么一个同样功能的API,它总是保存着最新产生的AUTO_INCREMENT值,并且不会在查询语句之间被重置,也就是说,在执行INSERT操作后,执行SELECT、UPDATE、DELETE语句都不会影响该API的返回值.

可以用 SELECT LAST_INSERT_ID();来查询LAST_INSERT_ID() 的返回值.

使用单条INSERT语句插入多条记录,LAST_INSERT_ID() 只返回插入的第一条记录产生的AUTO_INCREMENT值.

以上是关于php mysql_insert_id()的主要内容,如果未能解决你的问题,请参考以下文章

mysql : 使用任何命令代替 mysql_insert_id();在 PHP 中?

mysql_insert_id 替代 postgresql

php mysql_insert_id 在多行上?

存储过程和 mysql_insert_id 问题

使用mysql_insert_id插入大量数据

在php连接数据库中,怎么获取某一个表的某个列的id号?