
下面是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语句是不可能实现的,我们可以通过事务来实现,也就是说,SqlCommand的CmdText属性在一个方法当中可以赋多个SQL语句 SqlConnection sqlConnection = new SqlConnection()...初始化连接 // 开启事务 SqlTransaction sqlTransaction = sqlConnection.BeginTransaction()// 将事务应用于Command SqlCommand sqlCommand = new SqlCommand()sqlCommand.Connection = sqlConnectionsqlCommand.Transaction = sqlTransactionsqlCommand.CmdText=第一个sql语句 sqlCommand.ExcuteNoneQuery()sqlCommand.CmdText=第二个sql语句 sqlCommand.ExcuteNoneQuert()try { // 利用sqlcommand进行数据 *** 作 ... // 成功提交 sqlTransaction.Commit()} catch(Exception ex) { // 出错回滚 sqlTransaction.Rollback()} 如果在执行第二次SQL语句是出错了,那么就会到Catch异常中,执行回滚,那么第一次执行的也同样回滚了,所以必须2个都一行成功才往数据库中提交这里是用了2次SQL语句,如果你想用1个语句同时 *** 控2个表的话,就要用到存储过程或者是触发器,存储过程和触发器无论什么框架的登录系统都是差不多的,基本都是存入session里面的,最多就是存储的方式不一样而已,比如有的保存为文件的形式,而有的是保存在数据库中,再者存在memcache中等等。都是在用户登录的时候,拿用户名和密码去数据库中比对是否有该用户,有的话就存入session,没有的话就直接登录失败。
登录成功后会把相应的数据存入session中,一般用户的id都会保存的,你可以打印一下session看看里面到底存的哪些东西,然后你就知道怎么去取了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)