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等等,而且每种数据库语 ...
随机推荐
- vijosP1046 观光旅游(最小环)
vijosP1046 观光旅游 链接:https://vijos.org/p/1046 [思路] Floyd求解最小环. [代码] #include<iostream> using nam ...
- 冒泡排序原理(BubbleSorted)
//简单的冒泡排序public class BubbleMath { public static void main(String[] args) { //分清楚数组的头和尾,开始为尾,最后为头,因为 ...
- 如何使用TcpDump抓取远程主机的流量并回显到本地的WireShark上
ssh -t username@remoteip "echo rootpassword | sudo -S tcpdump -i eth0 -A '(tcp[((tcp[12:1] & ...
- 钥匙计数之一 - HDU 1438(状态压缩打表)
分析:首先想到每个钥匙的结尾有4种状态,不过题目还需要判断有三种不同的钥匙深度,所以每种深度结尾后有2^4种状态,0000->1111,不过题目还需需要有相邻的钥匙深度大于等于3,所以需要两种不 ...
- 得到创建人Id
等到创建人id,也就是登录人id arg1 .getCtx().fetchMemberId(); 其中arg1是 LServerEnv 的对象
- Qt 智能指针学习(7种指针)
Qt 智能指针学习 转载自:http://blog.csdn.net/dbzhang800/article/details/6403285 从内存泄露开始? 很简单的入门程序,应该比较熟悉吧 ^_^ ...
- 【设计模式 - 6】之桥接模式(Bridge)
1 模式简介 举个例子,人.车和公路是三个维度,人开着车在公路上行驶,就是将这三个维度进行了关联.人分男人(Man)和女人(Woman),车分小轿车(Car)和公共汽车(Bus),公路分市区 ...
- 淘宝分布式数据层:TDDL[转]
淘宝根据自己的业务特点开发了TDDL(Taobao Distributed Data Layer 外号:头都大了 ©_Ob)框架,主要解决了分库分表对应用的透明化以及异构数据库之间的数据复制,它是一个 ...
- [RxJS + AngularJS] Sync Requests with RxJS and Angular
When you implement a search bar, the user can make several different queries in a row. With a Promis ...
- eslint error
暂时不想解决 报错: 3:16 error Component should be written as a pure function react/prefer-stateless-function ...