目录

  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数据库的更多相关文章

  1. JFinalo操作框架racle数据库

    JFinal操作框架oracle数据库.在需求configPlugin()方法来配置链路oracle配置数据库 组态JFinal数据库操作窗口小部件,configPlugin方法 在这里,我打开jdb ...

  2. ThinkPhp框架的数据库操作(查询)

    TP框架有一套自己的数据库操作的代码,包括数据库的增.删.改.查.本文主要讲解TP框架的数据库查询操作. 找到入口文件的控制器: 我这里的入口文件是Show文件夹下的控制器. 打开Login控制器. ...

  3. ThinkPhp框架对“数据库”的基本操作

    框架有时会用到数据库的内容,在"ThinkPhp框架知识"的那篇随笔中提到过,现在这篇随笔详细的描述下. 数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是 ...

  4. Android 自定义Android ORM 框架greenDAO数据库文件的路径

    import android.content.Context; import android.content.ContextWrapper; import android.database.Datab ...

  5. JavaWeb_(Mybatis框架)JDBC操作数据库和Mybatis框架操作数据库区别_一

    系列博文: JavaWeb_(Mybatis框架)JDBC操作数据库和Mybatis框架操作数据库区别_一 传送门 JavaWeb_(Mybatis框架)使用Mybatis对表进行增.删.改.查操作_ ...

  6. TP框架对数据库的基本操作

    数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是对数据的增删改的操作,一步步的讲述一下框架对数据库的操作 想要操作数据库,第一步必然是要:链接数据库 一.链接数据库 (1)找 ...

  7. 基于abp框架的数据库种子数据初始化

    目录 基于abp框架的数据库种子数据初始化 1.背景 2.参照 3.解决方案 3.1 初始化数据 3.2 依赖注入方法容器里获取数据库上下文 3.3 封装创建初始化数据列表方法 3.4 数据库中没有的 ...

  8. laraval框架之数据库不可不吐槽的坑

    最近做的项目一直在用laraval框架,有些地方确实很方便,但是有些方面实在是太坑了,就比如这次在数据库里,官方文档写的是 Take note that email is not a required ...

  9. java之Hibernate框架实现数据库操作

    之前我们用一个java类连接MySQL数据库实现了数据库的增删改查操作---------MySQL篇: 但是数据库种类之多,除了MySQL,还有Access.Oracle.DB2等等,而且每种数据库语 ...

随机推荐

  1. 2013.08.23.diary

    Today, my baby called me.She said, she want to go abroad . And she wants me to go abroad too. I thin ...

  2. asterisk 能打电话的配置

    若使用的是chan_sip.so模块,则在sip.conf里添加: [10]type=friend;context=phonescontext=publichost=dynamicsecret=123 ...

  3. iOS开发之获取WIFI信号强度

    虽然各种直接获取信号强度的api都被封杀了.但是还有一个另类的黑魔法可以获取到.那就是遍历UIStatusBar了 - (void)getSignalStrength{ UIApplication * ...

  4. 45个必备的实用jQuery代码段[转载]

    1. 如何创建嵌套的过滤器: //允许你减少集合中的匹配元素的过滤器, //只剩下那些与给定的选择器匹配的部分.在这种情况下, //查询删除了任何没(:not)有(:has) //包含class为“s ...

  5. 用python 装饰器打log

    # coding=utf-8    from time import time def logged(when):     def log(f,*args,**kargs):         prin ...

  6. UVa1151 Buy or Build

    填坑(p.358) 以前天真的以为用prim把n-1条边求出来就可以 现在看来是我想多了 #include<cstdio> #include<cstring> #include ...

  7. node.js 安装

    http://my.oschina.net/zhangdapeng89/blog/52793 windows 自带的 ims文件安装后 有 安装npm 点击bat文件可自动安装 npm 1安装 nod ...

  8. HDU-4041-Eliminate Witches! (11年北京网络赛!!)

    Eliminate Witches! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  9. 理解ArcGIS Javascript Viewer Widget及编程模型

    一个ArcGIS Javascript Viewer for JavaScript Widget是一组可以共享.迁移及部署到JavaScript View程序中的的文本文件.通常,一个程序员如果要开发 ...

  10. 使用navicat 11 出现不能返回存储过程结果的问题

    问题: 使用navicat 11 调试存储过程,select返回结果,总是不能返回. 原因: 经google发现,navicat仅支持返回10个resultset,超过则不现实. 解决方法: 减少存储 ...