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();
}

  1. SELECT COUNT(*) AS tp_count FROM `mk_user` LIMIT 1 [ RunTime:0.1470s ]

$data=M('User')->max(id);

  1. SELECT MAX(id) AS tp_max FROM `mk_user` LIMIT 1 [ RunTime:0.0210s ]

string(1) "9"

查询平均分成绩

$data=M('User')->avg('score');

  1. 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();

  1. 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();
}

  1. DELETE FROM `mk_user` WHERE `id` = 1 [ RunTime:0.0000s ]

懒惰删除id

echo  M('User')->delete(2);
$this->display();

ThinkPHP CURD 操作的更多相关文章

  1. thinkphp 连接数据库 & 实例化模型操作 (下接thinkphp CURD 操作)/慕课

    7.1 连接数据库 (06:15) 1 7.2实例化模型 1 1.实例化基础模型 2 2. 实例化用户自定义模型 2 问题 2 3. 实例化公共模型 4 4. 实例化空模型 7    7.1 连接数据 ...

  2. ThinkPHP CURD mysql操作

    ThinkPHP CURD操作 ThinkPHP提供了灵活和方便的数据操作方法,对数据库操作的四个基本操作(CURD):创建.更新.读取和删除的实现是最基本的,也是必须掌握的,在这基础之上才能熟悉更多 ...

  3. thinkphp对mysql的CURD操作

    利用thinkphp(3.2.3)来操作数据库,首先要连接数据库.我们需要对某数据库写一个配置文件,thinkphp会根据该配置文件自动连接上数据库.而model文件就不用自定义,内置的即可解决问题. ...

  4. ThinkPHP CURD返回结果参考

    ThinkPHP CURD返回结果参考: 1)查询$table->find() ##返回一条记录,是一个关联数组,是一维数组.$table->select() ##返回第一维是索引数组,第 ...

  5. ThinkPHP CURD方法盘点:field方法

    ThinkPHP的CURD操作中有很多非常实用的方法,从这篇开始,我们会为大家一一介绍. 首先为大家介绍下field方法的用法.field属于模型的连贯操作方法之一,主要目的是标识要返回或者操作的字段 ...

  6. ThinkPHP 数据库操作(五) : 存储过程、数据集、分布式数据库

    存储过程 5.0支持存储过程,如果我们定义了一个数据库存储过程 sp_query ,可以使用下面的方式调用: $result = Db::query('call sp_query(8)'); 返回的是 ...

  7. ThinkPHP 数据库操作(三) : 查询方法、查询语法、链式操作

    查询方法 条件查询方法 where 方法 可以使用 where 方法进行 AND 条件查询: Db::table('think_user') ->where('name','like','%th ...

  8. ThinkPHP CURD方法中field方法详解

    导读:ThinkPHP CURD方法的field方法属于模型的连贯操作方法之一,主要目的是标识要返回或者操作的字段,可以用于查询和写入操作. 1.用于查询在查询操作中field方法是使用最频繁的.$M ...

  9. TP中CURD操作

    CURD操作 CURD操作也就是模型操作数据表的基本操作.C(Create).U(Update).R(Read).D(Delete)操作就是增删改查操作. 6.1.增加操作 回想一下在mysql中增加 ...

随机推荐

  1. POJ3321(dfs序列+树状数组)

    Apple Tree Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 25711   Accepted: 7624 Descr ...

  2. HZ 和 usleep最小睡眠时间(低精度定时器)

    注:本文论述的情况是内核默认未开启高精度定时器. 不建议这么用,需要较高精度的定时器可参考本博客后面的文章. 一.先上结论 1.默认的HZ是100,usleep的最小时间是10ms: 2.将HZ修改为 ...

  3. 一文读懂非关系型数据库(NoSQL)

    为了更好的理解非关系型数据库,我又深入的度娘了下 原文地址:https://baijiahao.baidu.com/po/feed/share?wfr=spider&for=pc&co ...

  4. Lib之过?Java反序列化漏洞通用利用分析

    转http://blog.chaitin.com/ 1 背景 2 Java反序列化漏洞简介 3 利用Apache Commons Collections实现远程代码执行 4 漏洞利用实例 4.1 利用 ...

  5. SQL 用;with 由所有的子节点查询到树结构中所有父节点

    1.所有的子节点查询到树结构中所有父节点 RETURNS @Tree Table(PID )) as begin --DECLARE @ID VARCHAR() --SET @ID = ' ;with ...

  6. linux yum 脚本实现

    yum 位于linux /usr/bin/yum yum命令是python脚本进行编写的(python 2.6) #!/usr/bin/python2.6 import sys try: import ...

  7. Python 标准库 -> Pprint 模块 -> 用于打印 Python 数据结构

    使用 pprint 模块 pprint 模块( pretty printer ) 用于打印 Python 数据结构. 当你在命令行下打印特定数据结构时你会发现它很有用(输出格式比较整齐, 便于阅读). ...

  8. ios配合iTuns提取应用Documents下的文件到本地

    出处:http://blog.csdn.net/jianandjan/article/details/50442988 有一些App需要通过使用iTunes让用户上传和下载文档.要让iOS程序支持iT ...

  9. Solr搜索的排序打分规则探讨

    使用Solr搭建搜索引擎很容易,但是如何制定合理的打分规则(boost)做排序却是一个很头痛的事情.Solr本身的排序打分规则是继承自Lucene的文本相关度的打分即boost,这一套算法对于通用的提 ...

  10. 2018网络预选赛 徐州G 线段树

    线段树,假设求(x1,y1)点的贡献,就找所有比该点出现时间晚,且x坐标大于x1的点中y最大的,贡献就是Y-y1,由于题目条件限制,不可能有x坐标大于(x1,y1)且y坐标大于y1的点,所以贡献肯定为 ...