ThinkPHP CURD 操作
Thinkphp CURD操作php中实例还对象即可操作 (目录)
1.Add 1
调式程序 3
调出显示页面Trace信息 3
Dump 的含义 4
2.数据库查询 4
1.直接使用字符串进行查找 4
2.使用数组的方式进行查询 5
3.表达式的方式进行查询 5
Php中的表达式定义 6
4.区间查询 6
5.混合用法 6
6. 统计用法 7
3.更新操作 8
4.删除操作 8
1.Add
$data=array(
'user_name'=>'xiaoming',
'nick_name'=>'小米',
'password'=>md5('123456'),
'score'=>'100',
'create_date'=>date('Y-m-d H:i:s'),
'update_date'=>date('Y-m-d H:i:s'),
);
echo M('user')->add($data);
二维数组插入
$data=array(
0=>array(
'user_name'=>'xiaoming',
'nick_name'=>'小米',
'password'=>md5('123456'),
'score'=>'100',
'create_date'=>date('Y-m-d H:i:s'),
'update_date'=>date('Y-m-d H:i:s'),
),
1=>array(
'user_name'=>'xiaoming',
'nick_name'=>'小wo',
'password'=>md5('123456'),
'score'=>'100',
'create_date'=>date('Y-m-d H:i:s'),
'update_date'=>date('Y-m-d H:i:s'),
),
2=>array(
'user_name'=>'xiaoming',
'nick_name'=>'小sd',
'password'=>md5('123456'),
'score'=>'100',
'create_date'=>date('Y-m-d H:i:s'),
'update_date'=>date('Y-m-d H:i:s'),
),
3=>array(
'user_name'=>'xiaoming',
'nick_name'=>'小fd',
'password'=>md5('123456'),
'score'=>'100',
'create_date'=>date('Y-m-d H:i:s'),
'update_date'=>date('Y-m-d H:i:s'),
)
//二维数组如何一次性插入进去
);
echo M('user')->addAll($data);
}
调式程序
调出显示页面Trace信息
'
SHOW_PAGE_TRACE'=>true,//显示页面Trace信息
<?php
return array(
//'配置项'=>'配置值'
// 'name'=>'Donsen2',
'LOAD_EXT_CONFIG'=>'user',
'URL_MODEL'=> 2,
'URL_HTML_SUFFIX' => 'shtml|html|xml', // URL伪静态后缀设置
'SHOW_PAGE_TRACE'=>true,//显示页面Trace信息
);
$this->display();
Dump 的含义
var_dump是php用来 打印 变量的 函数 用作 调试
dump ThinkPHP 框架 自定义的 用作框架变量 调试用的输出 功能可以说和 var_dump一样的
2.数据库查询
数据库查询 所有的数据
public functionindex()
{
//select 查询
$data=M('User')->select();
dump($data);
$this->display();
}
1.直接使用字符串进行查找
public function index()
{
//select 查询
//直接使用字符串进行查找
$data=M('User')->where('id=1')->select();
dump($data);
$this->display();
}
2.使用数组的方式进行查询
public function index()
{
//select 查询
//使用数组的方式进行查询
$where['id']=2;
$data=M('User')->where($where)->select();
dump($data);
$this->display();
}
查询 id为小明
//select 查询
//使用数组的方式进行查询
$where['id']=2;
$where['user_name']='xiaoming';
//SELECT * FROM `mk_user` WHERE `id` = 2 AND `user_name` = 'kitte' [ RunTime:0.0030s ]
//and 变成 or
$where['_logic']='or';//SELECT * FROM `mk_user` WHERE `id` = 2 OR `user_name` = 'xiaoming' [ RunTime:0.0010s ]
$data=M('User')->where($where)->select();
dump($data);
$this->display();
3.表达式的方式进行查询
//select 查询
//表达式的方式进行查询 eq neq egt gt lt elt between in like not between
// $where['字段名']=array(表达式,查询条件)
$where['id']=array('gt',1);
$data=M('User')->where($where)->select();
dump($data);
$this->display();
Php中的表达式定义
eq 等于
neq 不等于
gt 大于
egt 大于等于
lt 小于
elt 小于等于
like LIKE 模糊查询 ('like','ming');
数组查询
$where['user_name']=array('like',array('%ming','xiao%'));
between BETWEEN ('between','1,8');
notnull IS NUT NULL
null IS NULL
egf 是表示数据库的字段比较,而非字符串比较
例如:
$map['name'] = array('eq','label'); 和
$map['name'] = array('eqf','label');
分别代表 name = 'label' 和 name = label
同样的道理,gt lt 等其他表达式也可以在后面添加f来表示同样的功能~
4.区间查询
附加 与between 比较类似 是官方里面的区间查询
$where['id']=array(array('gt',1),array('lt',10));
SELECT * FROM `mk_user` WHERE ( `id` > 1 AND `id` < 10 )
And和or的区别 一个要同时满足 一个是满足其中一个关系
5.混合用法 查询 id>10 score>10
//混合用法
$where['id']=array('gt',10);
$where['_string']='score>10';
$data=M('User')->where($where)->select();
dump($data);
$this->display();
用表达式查询和区间查询就能查询就不要用混合方式,也不要用字符串的方式查询
表达式可以使数据库避免注入
6.统计用法
public function index()
{
//统计用法
/*
* count 统计数量
* max 获取最大值
* min 最小值
* avg 平均值
* sum 求和
* */
$data=M('User')->count();
dump($data);
$this->display();
}
- SELECT COUNT(*) AS tp_count FROM `mk_user` LIMIT 1 [ RunTime:0.1470s ]
$data=M('User')->max(id);
- SELECT MAX(id) AS tp_max FROM `mk_user` LIMIT 1 [ RunTime:0.0210s ]
string(1) "9"
查询平均分成绩
$data=M('User')->avg('score');
- SELECT AVG(score) AS tp_avg FROM `mk_user` LIMIT 1 [ RunTime:0.0000s ]
3.更新操作
//更新操作
$update['score']=60;
$where['id']=1;
$data=M('User')->where($where)->save($update);
dump($data);
$this->display();
- UPDATE `mk_user` SET `score`='60' WHERE `id` = 1 [ RunTime:0.0000s ]
4.删除操作
public function index()
{
$where['id']=1;
echo M('User')->where($where)->delete();
$this->display();
}
- DELETE FROM `mk_user` WHERE `id` = 1 [ RunTime:0.0000s ]
懒惰删除id
echo M('User')->delete(2);
$this->display();
ThinkPHP CURD 操作的更多相关文章
- thinkphp 连接数据库 & 实例化模型操作 (下接thinkphp CURD 操作)/慕课
7.1 连接数据库 (06:15) 1 7.2实例化模型 1 1.实例化基础模型 2 2. 实例化用户自定义模型 2 问题 2 3. 实例化公共模型 4 4. 实例化空模型 7 7.1 连接数据 ...
- ThinkPHP CURD mysql操作
ThinkPHP CURD操作 ThinkPHP提供了灵活和方便的数据操作方法,对数据库操作的四个基本操作(CURD):创建.更新.读取和删除的实现是最基本的,也是必须掌握的,在这基础之上才能熟悉更多 ...
- thinkphp对mysql的CURD操作
利用thinkphp(3.2.3)来操作数据库,首先要连接数据库.我们需要对某数据库写一个配置文件,thinkphp会根据该配置文件自动连接上数据库.而model文件就不用自定义,内置的即可解决问题. ...
- ThinkPHP CURD返回结果参考
ThinkPHP CURD返回结果参考: 1)查询$table->find() ##返回一条记录,是一个关联数组,是一维数组.$table->select() ##返回第一维是索引数组,第 ...
- ThinkPHP CURD方法盘点:field方法
ThinkPHP的CURD操作中有很多非常实用的方法,从这篇开始,我们会为大家一一介绍. 首先为大家介绍下field方法的用法.field属于模型的连贯操作方法之一,主要目的是标识要返回或者操作的字段 ...
- ThinkPHP 数据库操作(五) : 存储过程、数据集、分布式数据库
存储过程 5.0支持存储过程,如果我们定义了一个数据库存储过程 sp_query ,可以使用下面的方式调用: $result = Db::query('call sp_query(8)'); 返回的是 ...
- ThinkPHP 数据库操作(三) : 查询方法、查询语法、链式操作
查询方法 条件查询方法 where 方法 可以使用 where 方法进行 AND 条件查询: Db::table('think_user') ->where('name','like','%th ...
- ThinkPHP CURD方法中field方法详解
导读:ThinkPHP CURD方法的field方法属于模型的连贯操作方法之一,主要目的是标识要返回或者操作的字段,可以用于查询和写入操作. 1.用于查询在查询操作中field方法是使用最频繁的.$M ...
- TP中CURD操作
CURD操作 CURD操作也就是模型操作数据表的基本操作.C(Create).U(Update).R(Read).D(Delete)操作就是增删改查操作. 6.1.增加操作 回想一下在mysql中增加 ...
随机推荐
- ES之二:Elasticsearch原理
Elasticsearch是最近两年异军突起的一个兼有搜索引擎和NoSQL数据库功能的开源系统,基于Java/Lucene构建.最近研究了一下,感觉 Elasticsearch 的架构以及其开源的生态 ...
- Eclipse中的普通Java项目如何部署到Tomcat中
我现在的做法: 1.在Eclipse中配置Tomcat时,选择创建Context文件,而不是server.xml,好处是文件可以随便命名,与虚拟目录一致(即xml中的属性path).Tomcat加载项 ...
- 二 Istio设计的核心原则
Istio架构关键目标 最大化透明度:Istio将自身自动注入到服务间所有的网络路径中.Istio使用sidecar代理来捕获流量,并且在尽可能的地方自动编程网络层,通过代理来路由流量,无需改动应用程 ...
- 侯捷STL学习(六)--深入list && Iterator traits
第十三,四节 深度探索list(上,下) list Gnu2.9源代码实现 注意node代码和图示的位置 实现前闭后开,增加一个空白节点 用的分配器alloc Iterator智能指针,需要知道结点n ...
- libstdc++.so.6
libstdc++.so.6遇到的问题: 1.提示version `GLIBCXX_3.4.14' not found /usr/lib64/libstdc++.so.: version `GLIBC ...
- JCTF 2014(Misc)
小试身手: 点击下载附件 res/raw/hehe,打开 得到flag
- hibernate学习笔记(4)表单操作
User.hbm.xml的表单配置: ①主键 <id name="id" type="java.lang.Integer"> <column ...
- windows安装和配置JDK
安装完JDK后配置环境变量 计算机→属性→高级系统设置→高级→环境变量 系统变量→新建 JAVA_HOME 变量 . 变量值填写jdk的安装目录(本人是 E:\Java\jdk1.7.0) ...
- 装饰器,装饰器多参数的使用(*arg, **kwargs),装饰器的调用顺序
一.#1.执行outer函数,并且将其下面的函数名,当作参数 #2.将outer的返回值重新赋值给f1 = outer的返回值 #3.新f1 = inner #4.func = 原f1 #!/usr/ ...
- rm 删除文件或目录
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉.对于链接文件,只是删除整个链接文件,而原有文件保持不变. 注意:使用rm命令要格外小心.因为一旦 ...