重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
只能获得最后一条,没有其它方法。如果数据库只有一个人使用,那么多条是连续的,但是一般无法保证只有一个人使用。
创新互联是一家集网站建设,章丘企业网站建设,章丘品牌网站建设,网站定制,章丘网站建设报价,网络营销,网络优化,章丘网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
刚插入数据到MySQL数据库中,如何获得该数据的的ID呢?这里提供一个获取该ID的方法,需要用到AUTO_INCREMENT,因为没有的话,mysql_insert_id()返回 0。
定义和用法
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);
$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);
?
输出类似:
ID of last inserted record is: 5
你直接执行这么多条插入语句,那么这个函数是只能返回一个值,不过如果你换一个思路就可以了。
你可以把四个sql拆开,用for或者foreach循环插入数据库,那么每一次返回的id就是你想要的结果了。
参考例子:
$arr = array(array('10','1','张三'),array('11','1','李四'));
$arr_id = array();
foreach($arr as $k=$v)
{
$sql = 'insert into 表名('年龄','性别','姓名') values('$v[0]','$v[1]','$v[2]')';
mysql_query($sql);
$arr_id[] = msyql_insert_id();//将每次返回的id保存进数组
}
大致是这样的想法,代码不保证对,只是思路。
一般插入一条数据都会返回这条数据的id的,你可以直接定义个变量来存储就行了
$map 是数组
$id = D('User')-add($map);
这个$id 就是这条数据插入的id