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, // 启用字段缓存
粘贴到
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); } }