$map 是数组
$id = D('User')->add($map)
这个$id 就是这条数据插入的id
怎么在thinkphp添加数据时获取自动增长的id?下面是TP5的方法,TP3的在添加后变量直接就获取了。添加数据后如果需要返回新增数据的自增主键,可以使用 getLastInsID 方法:
Db::name('user')->insert($data)
$userId = Db::name('user')->getLastInsID()或者直接使用 insertGetId 方法新增数据并返回主键值:
Db::name('user')->insertGetId($data)
ThinkPHPThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP 开发框架,遵循 Apache2 开源协议发布,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。
基本特性简单易用的MVC模式
模型(M):模型的定义由Model类来完成。Model类位于项目目录下面的LibModel目录。
控制器(C):应用控制器(核心控制器)和Action控制器都承担了控制器的角色,区别在于Action控制器完成业务过程,而应用控制器(App类)负责调度控制。Action控制器位于项目目录下面的LibAction目录。
视图(V):模板的实现是和框架无关的,做到了100%分离,可以独立预览和制作。模板目录位于项目目录下面的Tpl目录。
2.独创的核心编译和二分法项目编译机制
ThinkTemplate是一个使用了XML标签库技术的编译型模板引擎,支持两种类型的模板标签,使用了动态编译和缓存技术,而且支持自定义标签库。
你直接执行这么多条插入语句,那么这个函数是只能返回一个值,不过如果你换一个思路就可以了。你可以把四个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保存进数组
}
大致是这样的想法,代码不保证对,只是思路。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)