前言
最近在工作中又遇到了这个问题,PHP中如何获得刚插入数据的ID(或当前发布文章的ID)呢?觉得有必要整理下详细的解决方法,方便自己也给有需要的朋友们提供以帮助,那么话不多说了,来看看详细的解决介绍。
解决方法
其实用 @R_502_198@_insert_id()
函数就可以实现的。
定义和用法
@R_502_198@_insert_id()
函数返回上一步 INSERT 操作产生的 ID。
注意:如果上一查询没有产生 AUTO_INCREMENT 的 ID,则 @R_502_198@_insert_id()
返回 0。
语法
PHP;">
@R_502_198@_insert_id(connection)
参数描述
connection可选。规定 @R_502_198@ 连接。如果未规定,则使用上一个连接。
说明
@R_502_198@_insert_id()
返回给定的 connection 中上一步 INSERT 查询中产生的 AUTO_INCREMENT 的 ID 号。如果没有指定 connection ,则使用上一个打开的连接。
提示和注释
注释:如果需要保存该值以后使用,要确保在产生了值的查询之后立即调用 @R_502_198@_insert_id()
。
例子
PHP;">
$con = @R_502_198@_connect("localhost","hello","321");
if (!$con)
{
die('Could not connect: ' . @R_502_198@_error());
}
$dbselected = @R502_198@_select_db("test_db",$con);
$sql = "INSERT INTO person VALUES ('Carter','Thomas','Beijing')";
@R_502_198@_query($sql,$con);
$id = @R_502_198@_insert_id()
echo "刚刚插入的数据ID是:".$id;
@R_502_198@_close($con);