tp连贯操作

链接数据库

首先写配置文件

复制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,        // 启用字段缓存

粘贴到

Home中的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<br>namespace Home\Model;<br>use Think\Model;<br>class InfoModel extends Model{<br>    public function login(){<br>        <br>    }<br>}

打开

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


 

<?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);

    }  

}

原文地址:https://www.cnblogs.com/palpitate/p/8571528.html

时间: 2024-11-10 01:23:50

tp连贯操作的相关文章

TP访问数据库 和 连贯操作

<?php namespace Admin\Controller; use Think\Controller; class MainController extends Controller { public function showList() { echo "hello"; } public function test() { //数据访问 //造模型对象 $nation = D("Nation"); //查询 //$a = $nation->se

php的连贯操作

用过tp的朋友们一定知道他封装的连贯操作,这里简单介绍一下如何实现 无顺序的连贯调用.以及他的原理.(大神略过....) 首先说下两个要点, 一.无顺序 既然是无顺序,那就意味着可以先调用任何一个方法,如何实现呢 ,答案很简单那就是保证每个方法都返回 $this(也就是当前被实例化的对象). 二调用php函数 这里有两个知识点 ①__call(不知道的可以去看手册啊,手册上讲的很清楚). ②call_user_func_array();还有一个call_user_func()不过没有call_u

关于php如何连贯操作类方法(以数据库为例)

关于php如何连贯操作类方法(以数据库为例) 1.下面是我写好的关于mysqli操作数据库的一些常用方法,大神请掠过 1 <?php 2 3 class Db 4 { 5 static private $config = [ 6 'datahost' => '', // 主机名 7 'dataname' => '', // 数据库名 8 'username' => '', // 用户名 9 'password' => '', // 用户密码 10 'charset' =>

第 39 章 ThinkPHP--SQL 连贯操作

本节课,我们将学习 ThinkPHP 模型基础类提供的连贯操作,通过连贯操作可以有效的 提供数据存取的代码清晰度和开发效率,并且支持所有的 CURD 操作. 一.连贯入门 连贯操作使用起来非常简单,比如查找到 id 为 1,2,3,4 中按照创建时间的倒序的前两 位. //连贯操作入门 $user = M('User'); var_dump($user->where('id in (1,2,3,4)')->order('date DESC')->limit(2)->select()

php连贯操作实现

我们在使用一些框架(如ThinkPHP)编码的时候,常用到这样的代码. M('User')->where(array('id'=>1))->field('name')->select(); 这样不仅有利于编码,而且也能让人"心情愉悦"呢.好了,不多说了.让我们看看如何实现的吧? <?php //数据库操作基类[PS:主要功能连贯功能实现] class Db{ //此属性定义要实现连贯操作的方法名 public $sql = array( "fie

连贯操作

连贯操作 案例:实现职员管理功能 ① 设计数据库 ② 创建UserController控制器 ③ 定义add方法 ④ 构建add.html模板到./Application/Admin/View/User,并更改链接地址 ⑤ 定义左侧导航链接 ⑥ 时间选择插件 1)导入js文件 2)在input文本框中添加onfocus事件 ⑦ 定义addOk方法实现接收与添加数据 首先创建一个UserModel.class.php模型 实例化模型,创建数据对象 ⑧ 实现index方法 1.连贯操作 where

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

如题: 一对一关联查询时使用relation连贯操作查询后,调用getLastSql()方法输出的sql语句不是一条关联查询语句. 例如: $list = $db->relation(true)->where($where)->order('blogid desc')->limit($Page->firstRow.','.$Page->listRows)->select(); $sql = $db->getLastSql(); 输出的sql语句为: SELE

ThinkPHP教程_PHP框架之ThinkPHP(八)【CRUD与连贯操作】

一.CRUD ThinkPHP提供了灵活和方便的数据库操作方法,其中最基本的就是CRUD四个操作,只有掌握了最基本的CRUD操作,才能更好的运用更多实用的数据库操作方法 CRUD操作通常与连贯操作配合 1.创建操作 使用add()方法或addAll()方法 ·add()方法 可以直接传入要插入的数据,而且会在插入之前会过滤掉数据表中不存在的字段以及非法的数据类型(例如对象.数组等非标量数据).若当前表有主键自动增长并且插入记录成功的话,则返回所插入记录主键值 如果在执行add()操作之前已经创建

ThinkPHP框架模型连贯操作(八)

原文:ThinkPHP框架模型连贯操作(八) Thinkphp的连贯操作使用起来也是很灵活: *可能这里有的mysql函数没全部罗列出来,大家可以举一反三,形式雷同 一.常用连贯操作 1.where 帮助我们设置查询条件 2.order 对结果进行排序 $arr=$m->order('id desc')->select(); $arr=$m->order(array('id'=>'desc','sex'=>'asc'))->select(); 多个字段排序 //数组形式