thinkphp执行add *** 作怎么返回id

thinkphp执行add *** 作怎么返回id,第1张

一般插入一条数据都会返回这条数据的id的,你可以直接定义个变量来存储就行了

$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)

ThinkPHP

ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级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保存进数组

}

大致是这样的想法,代码不保证对,只是思路。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11766349.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存