thinkphp where()
ThinkPHP where()方法是 Model 類內置方法,用于設置數據庫查詢或者更新、刪除等操作條件。
where 方法支持以字符串、數組和對象方式來設置條件,該方法不能獨立使用,必須與 select()、find()、delete() 等數據操作方法搭配使用。
字符串方式
字符串方式條件即以字符串的方式將條件作為 where() 方法的參數,例子:
$Dao = M("User"); $List = $Dao->where('uid<10 AND email="Jack@163.com"')->find();
實際執行的 sql 為:
立即學習“PHP免費學習筆記(深入)”;
SELECT * FROM user WHERE uid<10 AND email="Jack@163.com" LIMIT 1
字符串方式設定的條件即為實際 SQL 執行的條件,也是最接近原生 SQL 的方式,ThinkPHP 不會對條件做任何(類型上的)檢查。
數組方式
在大多數情況下推薦使用索引數組或者對象來作為查詢條件,因為這樣會更加安全,詳細參見:《ThinkPHP 類型檢測》。
使用數組方式的 where 條件例子:
$Dao = M("User"); // 構建查詢數組 $condition['uid'] = array('elt',10); $condition['email'] = "Jack@163.com"; $List = $Dao->where($condition)->find();
這個例子跟上面使用字符串方式的例子執行效果是一樣的。
使用對象
where 方法也可以使用對象來設置查詢或操作條件,可以使用任何對象。以 stdClass 內置對象為例:
$Dao = M("User"); // 定義查詢條件 $condition = new stdClass(); $condition->uid = array('elt',10); $condition->email = "Jack@163.com"; $List = $Dao->where($condition)->find();
使用對象方式和使用數組方式的條件效果是相同的,并且是可以互換的。
ThinkPHP where 在使用數組或對象方式的時候,要用到 ThinkPHP 特有的查詢表達式,具體見《ThinkPHP 表達式》。
更多ThinkPHP相關技術文章,請訪問ThinkPHP教程欄目進行學習!
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END