链接数据库
首先写配置文件
复制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); }
}