链接数据库
首先写配置文件
复制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); }
}
tp连贯操作的更多相关文章
-
ThinkPhp 3.2 数据的连贯操作
ThinkPHP模型基础类提供的连贯操作方法(也有些框架称之为链式操作),可以有效的提高数据存取的代码清晰度和开发效率,并且支持所有的CURD操作. 使用也比较简单, 假如我们现在要查询一个User表 ...
-
thinkPHP--SQL连贯操作
一.连贯入门 连贯操作使用起来非常简单,比如查找到 id 为 1,2,3,4 中按照创建时间的倒序的前两 位. //连贯操作入门 $user = M('User'); var_dump($user-& ...
-
【转】PHP实现连贯操作
[第一种方案 __call] 我们在使用一些框架(如ThinkPHP)编码的时候,常用到这样的代码. M('User')->where(array('id'=>1))->field( ...
-
一对一关联查询时使用relation连贯操作查询后,调用getLastSql()方法输出的sql语句
如题: 一对一关联查询时使用relation连贯操作查询后,调用getLastSql()方法输出的sql语句不是一条关联查询语句. 例如: $list = $db->relation(true) ...
-
ci连贯操作的limit两个参数和sql是相反的
ci连贯操作的limit两个参数和sql是相反的 db->where("name =",'mary')->ge() name后面要有个空格否则报错当为一个字段 -> ...
-
Laravel框架数据库CURD操作、连贯操作
这篇文章主要介绍了Laravel框架数据库CURD操作.连贯操作.链式操作总结,本文包含大量数据库操作常用方法,需要的朋友可以参考下 一.Selects 检索表中的所有行 $users = DB::t ...
-
Laravel框架数据库CURD操作、连贯操作总结
这篇文章主要介绍了Laravel框架数据库CURD操作.连贯操作.链式操作总结,本文包含大量数据库操作常用方法,需要的朋友可以参考下 一.Selects 检索表中的所有行 复制代码代码如下: $use ...
-
ThinkPHP第十八天(Widget类的使用,连贯操作where IN用法,缓存S函数使用)
1.Widget类的使用方法: 第一步:在Action同级目录中新建Widget文件夹(独立分组需要自己建立) 第二步:根据不同功能在Widget文件夹中建立不同的Widget类,如热门文章HotWi ...
-
ThinkPHP - 连贯操作
/** * 连贯操作 * @return 无返回值 */ public function coherentOperation(){ //实例化模型 $user = M('User'); // +--- ...
随机推荐
-
无参数实例化Configuration对象以及addResource无法加载core-site.xml中的内容
core-site.xml中配置的fs.default.name是hdfs://localhost:9000.但是这里读取出来的是本地文件系统.原因暂不知?有谁知道?
-
leetcode-javascript
1. Largest Number For example, given [3, 30, 34, 5, 9], the largest formed number is 9534330. // wro ...
-
[C#.net]PostMessage与SendMessage的区别
用 PostMessage.SendNotifyMessage.SendMessageCallback 等异步函数发送系统消息时,参数里不可以使用指针,因为发送者并不等待消息的处理就返回,接受者还没处 ...
-
如何解决WebService参数传递中文乱码问题
1,问题由来 我的主要工作是负责统一适配平台这块,主要任务是提供给客户统一的调用接口,客户使用这个接口可以通过我们再调不同厂家的接口.主要流程如下: 现在客户那边传来的请求报文里面包含中文,使用web ...
-
解决centos7重启后出现ata bus error
昨天把centos7装在电脑上了,还把win7系统格掉了,从此电脑上只装centos,有一种弃暗投明的感觉. 装完重启后欣赏了一番成果,一个halt命令想把系统关掉,却发现屏幕没黑,机器不转了,电源灯 ...
-
UVA699 dfs and map
和书上的方法不一样... 因为我不知道节点,所以就直接用map来存左右了. #include<bits/stdc++.h> using namespace std; map <int ...
-
CI框架剖析一
CodeIgniter 是一个小巧但功能强大的 PHP 框架,作为一个简单而"优雅"的工具包,它可以为开发者们建立功能完善的 Web 应用程序.本人使用CI框架有一 ...
-
●UOJ 131 [NOI2015] 品酒大会
题链: http://uoj.ac/problem/131 题解: 网上大多数的方法都是用并查集维护.这里呢,给出另一种自己YY的解法(但实际上本质差不多吧): 后缀数组,RMQ,单调栈 1).预处理 ...
-
FSLIB.NETWORK 简易使用指南
1.介绍 FSLIB.NETWORK 是一款开源HTTP的高性能高易用性网络库,是对HttpWebRequest/HttpWebResponse的包装,目的是为了用起来更简单明了.设计的时候就为了提供 ...
-
GDOI2017爆炸记
100种方法教你爆零.. 总结 其实这一次比赛除了三个sb的错误还是收获到了很多的.. 起码自己已经知道自己有进队的实力 不足的地方很大 主要是脑子不太好使,题目要不只能拿最暴力的分要不就能a 看了很 ...