久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

thinkphp查詢,3.X 5.0方法(親試可行)

下面小編就為大家帶來一篇thinkphp查詢,3.X 5.0方法(親試可行)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

一、介紹

ThinkPHP內置了非常靈活的查詢方法,可以快速的進行數據查詢操作,查詢條件可以用于讀取、更新和刪除等操作,主要涉及到where方法等連貫操作即可,無論是采用什么數據庫,你幾乎采用一樣的查詢方法(個別數據庫例如Mongo在表達式查詢方面會有所差異),系統幫你解決了不同數據庫的差異性,因此我們把框架的這一查詢方式稱之為查詢語言。查詢語言也是ThinkPHP框架的ORM亮點,讓查詢操作更加簡單易懂。下面來一一講解查詢語言的內涵。

二、查詢方式

ThinkPHP可以支持直接使用字符串作為查詢條件,但是大多數情況推薦使用索引數組或者對象來作為查詢條件,因為會更加安全。

1.使用字符串作為查詢條件

這是最傳統的方式,但是安全性不高,例如:

<?php 
$User = M("User"); // 實例化User對象 
$User->where('type=1 AND status=1')->select(); 
?>

最后生成的SQL語句是

SELECT * FROM think_user WHERE type=1 AND status=1

采用字符串查詢的時候,我們可以配合使用新版提供的字符串條件的安全預處理機制,暫且不再細說。

2.使用數組作為查詢條件

這種方式是最常用的查詢方式,例如:

<?php 
$User = M("User"); // 實例化User對象 
$condition['name'] = 'thinkphp'; 
$condition['status'] = 1; 
// 把查詢條件傳入查詢方法 
$User->where($condition)->select(); 
?>

最后生成的SQL語句是

SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1

如果進行多字段查詢,那么字段之間的默認邏輯關系是 邏輯與 AND,但是用下面的規則可以更改默認的邏輯判斷,通過使用 _logic 定義查詢邏輯:

<?php 
$User = M("User"); // 實例化User對象 
$condition['name'] = 'thinkphp'; 
$condition['account'] = 'thinkphp'; 
$condition['_logic'] = 'OR'; 
// 把查詢條件傳入查詢方法 
$User->where($condition)->select(); 
?>

最后生成的SQL語句是

SELECT * FROM think_user WHERE `name`='thinkphp' OR `account`='thinkphp'

3.使用對象方式來查詢

這里以stdClass內置對象為例:

<?php 
$User = M("User"); // 實例化User對象 
// 定義查詢條件 
$condition = new stdClass(); 
$condition->name = 'thinkphp'; 
$condition->status= 1; 
$User->where($condition)->select(); 
?>

最后生成的SQL語句和上面一樣

SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1

使用對象方式查詢和使用數組查詢的效果是相同的,并且是可以互換的,大多數情況下,我們建議采用數組方式更加高效。

三、表達式查詢

上面的查詢條件僅僅是一個簡單的相等判斷,可以使用查詢表達式支持更多的SQL查詢語法,也是ThinkPHP查詢語言的精髓,

查詢表達式的使用格式:$map['字段名'] = array('表達式','查詢條件');

表達式不分大小寫,支持的查詢表達式有下面幾種,分別表示的含義是:

EQ 等于(=)
NEQ 不等于(<>)
GT 大于(>)
EGT 大于等于(>=)
LT 小于(<)
ELT 小于等于(<=)
LIKE 模糊查詢
[NOT] BETWEEN (不在)區間查詢
[NOT] IN (不在)IN 查詢
EXP 表達式查詢,支持SQL語法

示例如下:

1.EQ :等于(=)

例如:$map['id'] = array('eq',100);和下面的查詢等效 $map['id'] = 100;表示的查詢條件就是 id = 100

2.NEQ: 不等于(<>)

例如:$map['id'] = array('neq',100);表示的查詢條件就是 id <> 100

3.GT:大于(>)

例如:$map['id'] = array('gt',100);表示的查詢條件就是 id > 100

4.EGT:大于等于(>=)

例如:$map['id'] = array('egt',100);表示的查詢條件就是 id >= 100

5.LT:小于(<)

例如:$map['id'] = array('lt',100);表示的查詢條件就是 id < 100

6.ELT: 小于等于(<=)

例如:$map['id'] = array('elt',100);表示的查詢條件就是 id <= 100

7.[NOT] LIKE: 同sql的LIKE

例如:$map['name'] = array('like','thinkphp%');查詢條件就變成 name like 'thinkphp%'

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要給大家介紹了關于laravel技巧之查詢構造器Query Builder疊加鏈式調用的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的
這篇文章主要介紹了ThinkPHP實現轉換數據庫查詢結果數據到對應類型的方法,涉及thinkPHP模型類操作及針對源碼文件的相關修改方法,需要的朋友可以參考下
這篇文章主要介紹了thinkphp5.0驗證類的簡單有效的使用方法,一起學習下。
本文主要講了thinkphp5.0版本中自定義驗證規則的使用方法和一些注意事項。
這篇文章主要介紹了ThinkPHP5聯合(關聯)查詢、多條件查詢與聚合查詢,結合實例形式總結分析了thinkPHP5常用查詢操作技巧,需要的朋友可以參考下
這篇文章主要介紹了ThinkPHP5查詢數據及處理結果的方法,結合實例總結分析了thinkPHP5常見查詢語句及查詢數據庫的三種方式,需要的朋友可以參考下
主站蜘蛛池模板: 成人性生交大片 | 一区二区三区精品视频 | 久久99精品久久久久久国产越南 | 亚洲在线一区 | 精国产品一区二区三区四季综 | 久久久久国产精品一区二区 | 婷婷五月色综合香五月 | 黑人精品欧美一区二区蜜桃 | 日韩在线视频免费观看 | av天空| 日本不卡免费新一二三区 | 91在线观看网址 | 一区二区中文 | 久久99视频免费观看 | 天天草夜夜骑 | 2019天天操 | 久久久网| 国产精品国产三级国产a | 日韩1区2区 | 欧美日韩国产一区二区三区 | 日韩欧美一区二区三区免费观看 | 久久骚 | 国产欧美日韩一区二区三区 | 激情免费视频 | 中文字幕伊人 | 久久狠狠 | 欧美午夜影院 | 一区二区三区四区在线视频 | 精品一区二区三区在线观看国产 | 亚洲精品日韩在线观看 | 国产福利91精品 | 免费国产一区二区 | 国产欧美在线视频 | 91麻豆精品国产91久久久久久久久 | 久久精品99 | 亚洲综合第一页 | 色婷婷精品国产一区二区三区 | 欧美精品一区二区在线观看 | 欧美久久久久久久久中文字幕 | 日本亚洲精品成人欧美一区 | 成人在线播放网址 |