thinkPHP数据查询常用方法总结【select,find,getField,query】

本文实例讲述了thinkPHP数据查询常用方法。分享给大家供大家参考,具体如下:

thinkphp已经封装好了常用的查询方法,且都比较实用,对于不常用的查询框架也保留了原始查询方法query

$Model = new Model() // 实例化一个model对象 没有对应任何数据表
$Model->query("select * from think_user where status=1");

如果刚学Thinkphp对框架不太了解可以用query($sql)execute($sql) 两个方法可以实现任何的sql操作。query用于查询操作execute用于非查询操作。但是框架已经封装好了常用的方法,且用起来更方便。

下面是最常用的查询方法:

1. select()

// 将所有数据查出,失败返回 false,无结果返回 null
$user = M('demo');
$data = $user->select();
dump($data);
// 加入条件
$user->field('name,sex')->where('id > 2')->order('age')->limit(3)->select();
//查询主键值为30的信息
$user->select('30');
// 查询主键为21,23,27的值
$user->select('21,23,27');

2. find()

// 查询出一条数据
$user = M('demo');
// 失败返回false
if($data = $user->find()){
  dump($data);
}
// 加入where条件
$user = M('demo');
$data = $user->field('name,sex')->where('id > 2')->find();
dump($data);
// 返回一维数组
$data->find('30');
$manager->where("username = '$username' and password = '$password'")->find();

3. getField()

// 获取列数据中的第一条
$user = M('demo');
$data = $user->getField('name');//默认第一个
// 第二个参数位true 则获取整列数据
$user->where("id = 3")->getField('name',true);
// 限制显示条数
$nickname = $User->where('status=1')->getField('nickname',8);
$nickname = $User->where('status=1')->limit(8)->getField('nickname',true);
// 返回二维数组,键名为第一个
$nickname = $User->where('status=1')->getField('id,nickname,sex');
// 使用连接符':' 键名是id值,键值则是account:nickname连接组成的字符串
$result = $User->where('status=1')->getField('id,account,nickname',':');

还有详细的查询方法详见 ThinkPHP3.2手册中的 "模型>查询语句" 章节。

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》、《smarty模板入门基础教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

(0)

相关推荐

  • thinkPHP批量删除的实现方法分析

    本文实例讲述了thinkPHP批量删除的实现方法.分享给大家供大家参考,具体如下: html: <li> <a class="delete" href="__URL__/deleteSelected/navTabId/__MODULE__" target="selectedTodo" posttype="string" calback="navTabAjaxMenu" rel='ids'

  • ThinkPHP3.2框架使用addAll()批量插入数据的方法

    本文实例讲述了ThinkPHP3.2框架使用addAll()批量插入数据的方法.分享给大家供大家参考,具体如下: thinkphp中model类的addAll()方法可以将数据同时添加到数据库中. // 批量添加数据 (only MySQL) $user = M('user'); //array('表字段'=>'值') $dataList[] = array('name'=>'thinkphp','email'=>'thinkphp@gamil.com'); $dataList[] =

  • ThinkPHP写数组插入与获取最新插入数据ID实例

    本文实例讲述了thinkphp写数组插入与获取最新插入数据ID的实现方法.分享给大家供大家参考.具体方法分析如下: 该实例讲述了thinkphp怎么自己写数组插入,此处是以注册用户为例. 具体实现代码如下: 复制代码 代码如下: public function insert2(){  header("Content-Type:text/html; charset=utf-8");  $Dao = M("User"); // 构建写入的数据数组  $data[&quo

  • thinkPHP数据库增删改查操作方法实例详解

    本文实例讲述了thinkPHP数据库增删改查操作方法.分享给大家供大家参考,具体如下: thinkphp对数据库增删改查进行了封装操作,使得使用更加方便,但是不一定灵活. 可以用封装的用,需要写sql,可以执行sql. 1.原始的 $Model = new Model(); // 实例化一个model对象 没有对应任何数据表 $insert_sql = "INSERT INTO sh_wxuser_collection (user_id,store_id,good_id,addtime) VAL

  • ThinkPHP实现批量删除数据的代码实例

    ThinkPHP实现批量删除数据原理很简单,只需在模板页面里面写上<input name='id[]' type='checkbox' value='{$vo.id}' class="noborder">这样传过来就是一个数组,action的删除函数del()如下: /** **删除函数支持删除多条和一个 **/ function del(){ //dump($_GET['id']); //$name = strtolower($_GET['_URL_'][0]); //获

  • thinkphp3.2.3版本的数据库增删改查实现代码

    框架thinkphp 版本:3.2.3 内容:数据库操作 1. 多表查找一条数据 M('a表')->join("b表 on b表.id=a表.id")->where('条件')->find(); 2.查找一条数据 M('a表')->where('条件')->find(); 3.多表查询所有数据 M('a表')->join("b表 on b表.id=a表.id")->where('条件')->select(); 4.查询

  • Thinkphp批量更新数据的方法汇总

    以下小编给大家列出了三种实现thinkphp批量更新数据的方法,写的不好还请见谅,有意见欢迎提出,共同学习进步! 方法一: //批量修改 data二维数组 field关键字段 参考ci 批量修改函数 传参方式 function batch_update($table_name='',$data=array(),$field=''){ if(!$table_name||!$data||!$field){ return false; }else{ $sql='UPDATE '.$table_name

  • 基于ThinkPHP实现批量删除

    本文实例分析了基于ThinkPHP实现批量删除的代码实例,分享给大家供大家参考,具体如下: 废话不多说,先上效果图: HTML布局(基于bootstrap) <div class="panel panel-default"> <div class="panel-heading"> 留言列表 <a class="btn btn-xs btn-default pull-right" href="javascri

  • 基于thinkPHP类的插入数据库操作功能示例

    本文实例讲述了基于thinkPHP类的插入数据库操作功能.分享给大家供大家参考,具体如下: 基于TP类的插入数据库操作 /************************** * 插入互动专家的数据 * * @param object $model 实例化的模型 * @param array $Model 获取到的专家数据 * @param int $result 插入成功后返回的id * @date 2016/02/19 * @write zss ***********************

  • 浅析THINKPHP的addAll支持的最大数据量

    Thinkphp中的Model操作有两个方法:add()和addAll 复制代码 代码如下: $User = M("User"); // 实例化User对象  $data['name'] = 'ThinkPHP';  $data['email'] = 'ThinkPHP@gmail.com';  $User->add($data);  $dataList[] = array('name'=>'thinkphp','email'=>'thinkphp@gamil.com

  • thinkphp框架实现删除和批量删除

    本文实例讲一下如何用thinkphp实现数据的删除和批量删除吧. 预期效果图: 原谅博主对照片的处理是如此的草率吧... 仍然是 通过MVC模式进行拆分: 首先是视图部分: <form action="__MODULE__/Admin/User/del" method="get"> <tr> <th width="4%"><input type="checkbox" name=&quo

随机推荐