一般插入一条数据都会返回这条数据的id的,你可以直接定义个变量来存储就行了
创新互联是一家专注于成都网站设计、做网站、成都外贸网站建设公司与策划设计,祁县网站建设哪家好?创新互联做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:祁县等地区。祁县做网站价格咨询:18980820575
$map 是数组
$id = D('User')-add($map);
这个$id 就是这条数据插入的id
你直接执行这么多条插入语句,那么这个函数是只能返回一个值,不过如果你换一个思路就可以了。
你可以把四个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保存进数组
}
大致是这样的想法,代码不保证对,只是思路。
刚插入数据到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
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款