PHP框架_ThinkPHP数据库
目录
1.ThinkPHP数据库配置
2.ThinkPHP数据库实例化模型
3.ThinkPHP数据库CURD操作
4.ThinkPHP数据库连贯操作
1.ThinkPHP数据库配置
App/Conf/config.php
- return array(
- //连接数据库
- //'配置项'=>'配置值'
- "DB_TYPE"=>"mysql",//数据库类型
- "DB_HOST"=>"localhost",//数据库服务地址
- "DB_NAME"=>"shopimooc",//数据库名字
- "DB_USER"=>"root",//数据库用户名
- "DB_PWD"=>"root",//数据库密码
- "DB_PORT"=>"3306",//数据库端口
- "DB_PREFIX"=>""//数据库表前缀
- );
2.ThinkPHP数据库实例化模型
- //1.实例化基础模型
- //$user = new Model("admin");//表名,表前缀,数据库连接
- $user = M("admin");
- $data = $user->select();
- dump($data);
- //2.实例化用户自定义模型
- //$user = new UserModel();
- $user = D("User");
- echo $user->getinfo();
- //3.实例化公共模型
- $str = new CommonModel();
- echo $str->strMake("admin");
- //4.实例化空模型
- $model = M();
- $sql = "select * from admin";
- $model->query($sql);//读取 select
- $model->execute($sql);//写入 insert update 返回受影响的条数
3.ThinkPHP数据库CURD操作
- //增加:
- //add 添加一条数据 :添加成功返回id,添加失败返回false
- $data = array(
- "username" => "iiii",
- "password" => "2313",
- "email" => "2313"
- );
- //addAll 添加一条数据 :添加成功返回第一条id,添加失败返回false
- $data = M("admin")->add($data);
- //查询
- //select 查询所有
- $data = M("admin")->select();
- //用字符串查询
- $data = M("admin")->where("id>1")->select();
- //用数组查询
- $arr = array(
- "id" => "1",
- "username" => "admin"
- );
- $data = M("admin")->where($arr)->select();
- //统计用法
- //count 数量
- $data = M("admin")->count();
- //max 获取最大值 必须传入统计字段名
- $data = M("admin")->max("username");
- //min 获取最小值 必须传入统计字段名
- //avg 获取平均值 必须传入统计字段名
- //sum 获取就和 必须传入统计字段名
- //更新
- //save 更新 成功返回收影响条数,添加失败返回false
- $where = "id=18";
- $update["username"] = "ad";
- $data = M("admin")->where($where)->save($update);
- dump($data);
- //删除
- //delete 删除 成功返回收影响条数,添加失败返回false
- $where = "id=18";
- $data = M("admin")->where($where)->delete();
- dump($data);
4.ThinkPHP数据库连贯操作
- //1.order排序 order("字符串条件") 多个字符串用,隔开
- $data = M("admin")->order("id desc")->select();
- //2.field字段筛选 field($string,false) $string多个字段用逗号隔开
- $data = M("admin")->field("username")->select();
- //3.limit(start,length)
- //4.page 分页 page(页码,每页的条数=20)
- $data = M("admin")->field("username")->page(1,2)->select();
- //5.group 分组操作
- //6.having 条件操作
- $data = M("admin")->order("id desc")->having("id>10")->select();
- //多表查询
- //1.table table(array("表名"=>"别名")) 表名需要加前缀
- M()->table(array("user"=>"user","userinfo"=>"info"))->where("user.id=info.id")->select();
- //2.join
- M()->join("userinfo on userinfo.id=user.id")->select();
- //3.union("string array",true/false) 查询两张表中完全相同的字段
- M()->field("name")->union("select name from userinfo")->select();
- //过滤查询
- //1.distinct(true/false) 过滤重复的数据
- $data = M("admin")->distinct(true)->select();
PHP框架_ThinkPHP数据库的更多相关文章
- JFinalo操作框架racle数据库
JFinal操作框架oracle数据库.在需求configPlugin()方法来配置链路oracle配置数据库 组态JFinal数据库操作窗口小部件,configPlugin方法 在这里,我打开jdb ...
- ThinkPhp框架的数据库操作(查询)
TP框架有一套自己的数据库操作的代码,包括数据库的增.删.改.查.本文主要讲解TP框架的数据库查询操作. 找到入口文件的控制器: 我这里的入口文件是Show文件夹下的控制器. 打开Login控制器. ...
- ThinkPhp框架对“数据库”的基本操作
框架有时会用到数据库的内容,在"ThinkPhp框架知识"的那篇随笔中提到过,现在这篇随笔详细的描述下. 数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是 ...
- Android 自定义Android ORM 框架greenDAO数据库文件的路径
import android.content.Context; import android.content.ContextWrapper; import android.database.Datab ...
- JavaWeb_(Mybatis框架)JDBC操作数据库和Mybatis框架操作数据库区别_一
系列博文: JavaWeb_(Mybatis框架)JDBC操作数据库和Mybatis框架操作数据库区别_一 传送门 JavaWeb_(Mybatis框架)使用Mybatis对表进行增.删.改.查操作_ ...
- TP框架对数据库的基本操作
数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是对数据的增删改的操作,一步步的讲述一下框架对数据库的操作 想要操作数据库,第一步必然是要:链接数据库 一.链接数据库 (1)找 ...
- 基于abp框架的数据库种子数据初始化
目录 基于abp框架的数据库种子数据初始化 1.背景 2.参照 3.解决方案 3.1 初始化数据 3.2 依赖注入方法容器里获取数据库上下文 3.3 封装创建初始化数据列表方法 3.4 数据库中没有的 ...
- laraval框架之数据库不可不吐槽的坑
最近做的项目一直在用laraval框架,有些地方确实很方便,但是有些方面实在是太坑了,就比如这次在数据库里,官方文档写的是 Take note that email is not a required ...
- java之Hibernate框架实现数据库操作
之前我们用一个java类连接MySQL数据库实现了数据库的增删改查操作---------MySQL篇: 但是数据库种类之多,除了MySQL,还有Access.Oracle.DB2等等,而且每种数据库语 ...
随机推荐
- Android项目开发全程(二)--Afinal用法简单介绍
本篇博文接上篇的<Android项目开发全程(一)--创建工程>,主要介绍一下在本项目中用到的一个很重要的框架-Afinal,由于本系列博文重点是项目开发全程,所以在这里就先介绍一下本项目 ...
- bzoj 1013 [JSOI2008]球形空间产生器sphere(高斯消元)
1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 3584 Solved: 1863[Subm ...
- Cogs 1672. [SPOJ375 QTREE]难存的情缘 LCT,树链剖分,填坑计划
题目:http://cojs.tk/cogs/problem/problem.php?pid=1672 1672. [SPOJ375 QTREE]难存的情缘 ★★★☆ 输入文件:qtree.in ...
- Codevs 3304 水果姐逛水果街Ⅰ 线段树
题目: http://codevs.cn/problem/3304/ 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题解 题目描述 D ...
- JavaScript onConflict 处理
jQuery.noConflict用于释放jQuery和$两个全局变量. <!DOCTYPE html> <html> <head> <meta http-e ...
- ACM1720_A+Bcoming(进制转换的新思路)——代码超少哟!
using namespace std; int main() { int a,b; while(cin>>hex>>a>>b) { cout<<dec ...
- 在Ubuntu中设置中文输入法
在Ubuntu中设置中文输入法 */--> pre { background-color: #2f4f4f;line-height: 1.6; FONT: 10.5pt Consola,&quo ...
- 中科院NLPIR中文分词java版
中科院NLPIR中文分词java版 中科院NLPIR中文分词java版
- Codeforces Round #100(140~~)
140 A. New Year Table 题目大意:有一个大圆桌子,半径是R, 然后有n个半径是r的盘子,现在需要把这些盘子摆放在桌子上,并且只能摆放在桌子边缘,但是不能超出桌子的范围....问能放 ...
- Geometric Shapes - POJ 3449(多边形相交)
题目大意:给一些几何图形的编号,求出来这些图形都和那些相交. 分析:输入的正方形对角线上的两个点,所以需要求出来另外两个点,公式是: x2:=(x1+x3+y3-y1)/2; y2:=(y1+y3 ...