Heim >php教程 >php手册 >php mysql_insert_id()返回数据库最新id实现方法

php mysql_insert_id()返回数据库最新id实现方法

WBOY
WBOYOriginal
2016-05-26 15:22:221577Durchsuche

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(&#39;Could not connect: &#39; . mysql_error()); 
	} 
	 
	$db_selected = mysql_select_db("test_db",$con); 
	//开源代码phprm.com 
	$sql = "INSERT INTO person VALUES (&#39;Carter&#39;,&#39;Thomas&#39;,&#39;Beijing&#39;)"; 
	$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值.

文章地址:

转载随意^^请带上本文地址!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn