链接数据库

首先写配置文件

复制concentration.php中的

    /* 数据库设置 */
'DB_TYPE' => '', // 数据库类型
'DB_HOST' => '', // 服务器地址
'DB_NAME' => '', // 数据库名
'DB_USER' => '', // 用户名
'DB_PWD' => '', // 密码
'DB_PORT' => '', // 端口
'DB_PREFIX' => '', // 数据库表前缀
'DB_PARAMS' => array(), // 数据库连接参数
'DB_DEBUG' => TRUE, // 数据库调试模式 开启后可以记录SQL日志
'DB_FIELDS_CACHE' => true, // 启用字段缓存

粘贴到

config.php中

<?php
return array(
//'配置项'=>'配置值'
/* 数据库设置 */
'DB_TYPE' => 'mysql', // 数据库类型
'DB_HOST' => 'localhost', // 服务器地址
'DB_NAME' => 'crud', // 数据库名
'DB_USER' => 'root', // 用户名
'DB_PWD' => '123', // 密码
'DB_PORT' => '', // 端口
'DB_PREFIX' => '', // 数据库表前缀
'DB_PARAMS' => array(), // 数据库连接参数
'DB_DEBUG' => TRUE, // 数据库调试模式 开启后可以记录SQL日志
'DB_FIELDS_CACHE' => true, // 启用字段缓存
);

新建模块

<?php
namespace Home\Model;
use Think\Model;
class InfoModel extends Model{
public function login(){ }
}

打开

直接实例化info表

<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$info = new\Home\Model\InfoModel();
var_dump($info);
}
}

部分截图

实例化模型对象的两种方法。D();和M();方法

<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
//$info = new\Home\Model\InfoModel();
//var_dump($info);
$n = D("nation");
var_dump($n);
}
}

<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
//$info = new\Home\Model\InfoModel();
//var_dump($info);
//$n = D("nation");
//var_dump($n);
$n = M("nation");
var_dump($n);
}
}

结果一样和D方法不一样的就是M方法没有表名。M方法用来造父类对象。D方法相当于NEW的简写

操作数据库

<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db->select();
var_dump($arr);
//返回二维数组
}
}

<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db->select("n001");
var_dump($arr);
//select()中不给参数就是查所有,给参数就查相应参数的内容
//参数只能是主键,可以是多个参数
//返回二维数组
}
}

<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db->find("n001");
var_dump($arr);
//可以查一条
//返回一维数组
}
}

<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db
->where("Name like '%人%'")//条件。多个条件可以用and或者or 也可以多写一个where()
->select(); var_dump($arr); }
}

<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db
//->where("Name like '%人%'")//条件
->table("Info")//临时切换表格
->select(); var_dump($arr); }
}
<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db
//->where("Name like '%人%'")//条件
//->table("Info")//临时切换表格
->field("Name")//取字段,可以用逗号隔开取多个
->select(); var_dump($arr); }
}
<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db
//->where("Name like '%人%'")//条件
//->table("Info")//临时切换表格
//->field("Name")//取字段,可以用逗号隔开取多个
//->order()//根据条件排序。默认升序
//->limit("2,5")//跳过2条取5条。一个参数是取前几条
//->page("2,5")//第二页显示五条
//->group()//分组
//->distinct()//去重
//->field()//根据这个条件去重
->lock(true)//自己在处理是把表格锁死,别人没法用
->select(); var_dump($arr); }
}

聚合函数

<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db
//->count();//个数
//->sum();求和()中写根据哪列
//->avg();求平均值 var_dump($arr); }
}

分组查询

<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db
->table("car")//临时切换表格
->group("brand")//分组
->field("brand,AVG(price)")
->select(); var_dump($arr); }
}

<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db
->field("Info.Code as Code,Info.Name as Name,Nation.Name as nation")
->join("Info on Info.Nation=Nation.Code")
//如果列名重复就不能这么写
->select(); var_dump($arr); }
}

<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller{
public function login(){
$db = D("Nation");
$arr = $db->query("select * from nation");//支持原生的sql语句
var_dump($arr); }
}

tp连贯操作的更多相关文章

  1. ThinkPhp 3.2 数据的连贯操作

    ThinkPHP模型基础类提供的连贯操作方法(也有些框架称之为链式操作),可以有效的提高数据存取的代码清晰度和开发效率,并且支持所有的CURD操作. 使用也比较简单, 假如我们现在要查询一个User表 ...

  2. thinkPHP--SQL连贯操作

    一.连贯入门 连贯操作使用起来非常简单,比如查找到 id 为 1,2,3,4 中按照创建时间的倒序的前两 位. //连贯操作入门 $user = M('User'); var_dump($user-& ...

  3. 【转】PHP实现连贯操作

    [第一种方案 __call] 我们在使用一些框架(如ThinkPHP)编码的时候,常用到这样的代码. M('User')->where(array('id'=>1))->field( ...

  4. 一对一关联查询时使用relation连贯操作查询后,调用getLastSql()方法输出的sql语句

    如题: 一对一关联查询时使用relation连贯操作查询后,调用getLastSql()方法输出的sql语句不是一条关联查询语句. 例如: $list = $db->relation(true) ...

  5. ci连贯操作的limit两个参数和sql是相反的

    ci连贯操作的limit两个参数和sql是相反的 db->where("name =",'mary')->ge() name后面要有个空格否则报错当为一个字段 -> ...

  6. Laravel框架数据库CURD操作、连贯操作

    这篇文章主要介绍了Laravel框架数据库CURD操作.连贯操作.链式操作总结,本文包含大量数据库操作常用方法,需要的朋友可以参考下 一.Selects 检索表中的所有行 $users = DB::t ...

  7. Laravel框架数据库CURD操作、连贯操作总结

    这篇文章主要介绍了Laravel框架数据库CURD操作.连贯操作.链式操作总结,本文包含大量数据库操作常用方法,需要的朋友可以参考下 一.Selects 检索表中的所有行 复制代码代码如下: $use ...

  8. ThinkPHP第十八天(Widget类的使用,连贯操作where IN用法,缓存S函数使用)

    1.Widget类的使用方法: 第一步:在Action同级目录中新建Widget文件夹(独立分组需要自己建立) 第二步:根据不同功能在Widget文件夹中建立不同的Widget类,如热门文章HotWi ...

  9. ThinkPHP - 连贯操作

    /** * 连贯操作 * @return 无返回值 */ public function coherentOperation(){ //实例化模型 $user = M('User'); // +--- ...

随机推荐

  1. php$_SERVER['SCRIPT_NAME']和__FILE__的区别

    $_SERVER['SCRIPT_FILENAME']          -------> 当前执行程序的绝对路径及文件名__FILE__                             ...

  2. Page4:线性系统的运动求解以及脉冲响应矩阵与传递函数的关系[Linear System Theory]

    内容包含线性系统的运动求解,系统矩阵特征值和特征向量对运动的影响,脉冲响应矩阵与传递函数之间的关系

  3. Xib给特定view添加手势

    步骤1.拖拽手势注意:拖拽到First Responder下方,成功后会出现一个分类Objects(如图 拖拽成功后会多出一个分类Objects ) 步骤2.给需要的view绑定手势控件 拖拽gest ...

  4. Orchard Core 中数据库使用postgresql-10

    在配置好Startup.cs后,运行程序: 首先需要设置一些基本信息.这里我试着配置如下,数据库使用postgresql,连接字符串像这样: Host=192.168.0.111;UserName=u ...

  5. docker之Dockerfile指令介绍

    Docker通过对于在Dockerfile中的一系列指令的顺序解析实现自动的image的构建 通过使用build命令,根据Dockerfiel的描述来构建镜像 通过源代码路径的方式 通过标准输入流的方 ...

  6. jenkins 下载和安装

    jenkins 下载和安装 地址:http://jenkins.io/download/ 下载完成后,点击安装,安装完会发现电脑里多了个jenkins文件夹,打开发现 jenkins.war, 然后点 ...

  7. CUDNN安装

    在英伟达官网下载后解压,然后: cd cuda sudo cp lib64/* /usr/local/cuda/lib64/ sudo cp include/* /usr/local/cuda/inc ...

  8. gitlab小结

    部署Gitlab环境完整记录(我用的是11版本的gitlab,为了后面不出现bug,请选择11) gitlab启用https的配置 gitlab强制修改密码 https://www.cnblogs.c ...

  9. 注意:WordPress栏目别名slug不要设为p

    这几天ytkah接了一个WordPress项目,没用多少时间就搞定了,交付给甲方使用,刚开始还算顺利,突然有一天其中一个栏目及栏目下是文章都无法访问了,出现404页面,其他页面都可以.询问他们最近改动 ...

  10. 别让Open Sans字体拖慢wordpress后台速度

    最近打开wordpress后台是不是很慢?国内GG登不上了?这两者有没什么直接的联系?没错,WordPress后台是自动加载的谷歌Open Sans字体,据说gg服务器已经迁移到阿嘛丽可,需要一些小手 ...