tp连贯操作

时间:2023-11-13 09:30:02

链接数据库

首先写配置文件

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

粘贴到tp连贯操作

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

新建模块tp连贯操作

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

打开tp连贯操作

直接实例化info表

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

部分截图

tp连贯操作

实例化模型对象的两种方法。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);
}
}

tp连贯操作

<?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);
//返回二维数组
}
}

tp连贯操作

<?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()中不给参数就是查所有,给参数就查相应参数的内容
//参数只能是主键,可以是多个参数
//返回二维数组
}
}

tp连贯操作

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

tp连贯操作

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

tp连贯操作

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

tp连贯操作

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

tp连贯操作

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