目录
1.ThinkPHP数据库配置
2.ThinkPHP数据库实例化模型
3.ThinkPHP数据库CURD操作
4.ThinkPHP数据库连贯操作
1.ThinkPHP数据库配置
App/Conf/config.php
return array(
//连接数据库
//'配置项'=>'配置值'
"DB_TYPE"=>"mysql",//数据库类型
"DB_HOST"=>"localhost",//数据库服务地址
"DB_NAME"=>"shopimooc",//数据库名字
"DB_USER"=>"root",//数据库用户名
"DB_PWD"=>"root",//数据库密码
"DB_PORT"=>"3306",//数据库端口
"DB_PREFIX"=>""//数据库表前缀
);
2.ThinkPHP数据库实例化模型
//1.实例化基础模型
//$user = new Model("admin");//表名,表前缀,数据库连接
$user = M("admin");
$data = $user->select();
dump($data); //2.实例化用户自定义模型
//$user = new UserModel();
$user = D("User");
echo $user->getinfo(); //3.实例化公共模型
$str = new CommonModel();
echo $str->strMake("admin"); //4.实例化空模型
$model = M();
$sql = "select * from admin";
$model->query($sql);//读取 select
$model->execute($sql);//写入 insert update 返回受影响的条数
3.ThinkPHP数据库CURD操作
//增加:
//add 添加一条数据 :添加成功返回id,添加失败返回false
$data = array(
"username" => "iiii",
"password" => "2313",
"email" => "2313"
);
//addAll 添加一条数据 :添加成功返回第一条id,添加失败返回false
$data = M("admin")->add($data); //查询
//select 查询所有
$data = M("admin")->select();
//用字符串查询
$data = M("admin")->where("id>1")->select();
//用数组查询
$arr = array(
"id" => "1",
"username" => "admin"
);
$data = M("admin")->where($arr)->select(); //统计用法
//count 数量
$data = M("admin")->count();
//max 获取最大值 必须传入统计字段名
$data = M("admin")->max("username");
//min 获取最小值 必须传入统计字段名
//avg 获取平均值 必须传入统计字段名
//sum 获取就和 必须传入统计字段名 //更新
//save 更新 成功返回收影响条数,添加失败返回false
$where = "id=18";
$update["username"] = "ad";
$data = M("admin")->where($where)->save($update);
dump($data); //删除
//delete 删除 成功返回收影响条数,添加失败返回false
$where = "id=18";
$data = M("admin")->where($where)->delete();
dump($data);
4.ThinkPHP数据库连贯操作
//1.order排序 order("字符串条件") 多个字符串用,隔开
$data = M("admin")->order("id desc")->select(); //2.field字段筛选 field($string,false) $string多个字段用逗号隔开
$data = M("admin")->field("username")->select(); //3.limit(start,length) //4.page 分页 page(页码,每页的条数=20)
$data = M("admin")->field("username")->page(1,2)->select(); //5.group 分组操作 //6.having 条件操作
$data = M("admin")->order("id desc")->having("id>10")->select(); //多表查询
//1.table table(array("表名"=>"别名")) 表名需要加前缀
M()->table(array("user"=>"user","userinfo"=>"info"))->where("user.id=info.id")->select(); //2.join
M()->join("userinfo on userinfo.id=user.id")->select(); //3.union("string array",true/false) 查询两张表中完全相同的字段
M()->field("name")->union("select name from userinfo")->select(); //过滤查询
//1.distinct(true/false) 过滤重复的数据
$data = M("admin")->distinct(true)->select();