thinkphp中where方法怎么用

thinkphp中,where方法用于對數據庫操作的結果進行篩選,是模型類的連貫操作方法之一,可以完成包括普通查詢、表達式查詢、快捷查詢、區間查詢、組合查詢在內的查詢操作,語法為“實例化對象->where(‘條件’);”。

thinkphp中where方法怎么用

本文操作環境:Windows10系統、ThinkPHP6版、Dell G3電腦。

thinkphp中where方法怎么用

where方法可以用于對數據庫操作的結果進行篩選。即SQL查詢語句中的where子句。

今天來給大家講下查詢最常用但也是最復雜的where方法,where方法也屬于模型類的連貫操作方法之一,主要用于查詢和操作條件的設置。

where方法的用法是ThinkPHP查詢語言的精髓,也是ThinkPHP ORM的重要組成部分和亮點所在,可以完成包括普通查詢、表達式查詢、快捷查詢、區間查詢、組合查詢在內的查詢操作。where方法的參數支持字符串和數組,雖然也可以使用對象但并不建議。

立即學習PHP免費學習筆記(深入)”;

字符串條件

使用字符串條件直接查詢和操作,例如:

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

最后生成的SQL語句是

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

如果使用3.1以上版本的話,使用字符串條件的時候,建議配合預處理機制,確保更加安全,例如:

$Model->where("id=%d?and?username='%s'?and xx='%f'",array($id,$username,$xx))->select();

或者使用:

$Model->where("id=%d?and?username='%s'?and?xx='%f'",$id,$username,$xx)->select();

如果$id變量來自用戶提交或者URL地址的話,如果傳入的是非數字類型,則會強制格式化為數字格式后進行查詢操作。

字符串預處理格式類型支持指定數字、字符串等,具體可以參考vsprintf方法的參數說明。

數組條件

數組條件的where用法是ThinkPHP推薦的用法。

普通查詢

最簡單的數組查詢方式如下:

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

最后生成的SQL語句是

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

推薦學習:《PHP視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享