ThinkPHP框架 _ 学习13

Posted 阿鸠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP框架 _ 学习13相关的知识,希望对你有一定的参考价值。

【收集表单数据入库操作】

  1. 制作一个表单
  2. 通过$_POST收集信息
  3. 通过create()方法实现数据收集,该方法对于非法的字段会自动进行过滤(它只是收集数据,不保存数据,如果要保存数据,则需要add方法)

 

  1. create()收集表单方法内部会自动过滤非法的字段信息(如果收集的数据字段名字不正确的话,那么它会自动过滤掉这个字段)

 

 

【数据修改操作】

select()

add()

save()  实现数据修改,返回受影响的记录条数

delete()

具体有两种方式实现数据修改,与添加类似(数组、AR方式)

  1. 数组方式

a) $goods = D(“Goods”);

b) $ar = array(‘goods_name’=>’lenovo手机’,’goods_price’=>1200);

c) $goods ->where(‘goods_id>50’)-> save($ar);

  1. AR方式

a) $goods = D(“Goods”);

c) $goods -> goods_name = “三星手机”;

d) $goods -> goods_price = 2000;

e) $goods -> where(‘goods_price>10000’)->save();

以上两种方式如果可行,即要修改全部数据

以上sql语句从技术上可行,从业务上不可行(事故)

tp框架有智能考虑,以上情况的sql语句不被允许执行。

如何执行:

① 明确告诉系统那条sql语句被update更新

② 可以设置where进行sql语句更新操作

 

save()  方法返回值

0:之前没有问题,执行前后数据没有变化

自然数:受影响的记录条数

false:执行失败

 

 

【数据删除及执行原生sql语句】

select()

add()

save()  

delete()  返回受影响的记录条数

 

$goods -> delete(30);   删除主键值等于30的记录信息

$goods -> delete(“10,12,13”);   删除主键值等于10 12 13的三条记录

$goods -> where(“goods_id>60”)->delete()   把符合条件的记录都给删除

 

 

执行原生sql语句

  1. 查询语句query()  返回一个二维数组信息
  2. 添加、修改、删除 execute()  返回受影响的记录条数

$goods = D(“Goods”);

$sql = “select * from sw_goods”;

$rst = $goods -> query($sql);

 

$sql = “select goods_category_id,avg(goods_price) from sw_goods group by goods_category_id having  avg(goods_price)>1000”;

$goods -> query($sql);

 

$sql = “update sw_goods set goods_name = ‘htc_two’ where goods_id=100”;

$goods -> execute($sql);

以上是关于ThinkPHP框架 _ 学习13的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP框架 _ 学习12

ThinkPHP框架 _ 学习3

ThinkPHP框架 _ 学习9

ThinkPHP框架 _ 学习8

thinkphp框架数据更新问题

thinkphp 学习_单一入口执行流程