在thinkphp中,find方法用于獲取數據表中滿足條件的一行記錄,該函數只能夠返回一行記錄,若獲取多條滿足條件的記錄,返回的是第一條記錄,結果是一個數組,數組的key和sql中的field相對應。
本文操作環境:Windows10系統、thinkphp3.2版、Dell G3電腦。
thinkphp的find方法怎么用
ThinkPHP find() 方法是和 select() 用法類似的一個方法,不同之處 find() 查詢出來的始終只有一條數據,即系統自動加上了 LIMIT 1 限制。
當確認查詢的數據記錄只能是一條記錄時,建議使用 find() 方法查詢,如用戶登錄賬號檢測:
public?function?chekUser(){ ????header("Content-Type:text/html;?charset=utf-8"); ????$Dao?=?M("User"); ???? ????//?構造查詢條件 ????$condition['username']?=?'Admin'; ????$condition['password']?=?MD5('123456'); ????//?查詢數據 ????$list?=?$Dao->where($condition)->find(); ????if($list){ ????????echo?'賬號正確'; ????}else{ ????????echo?'賬號/密碼錯誤'; ????} }
與 select() 的另一個不同之處在于,find() 返回的是一個一維數組,可以在模板里直接輸出數組單元的值而無需使用 volist 等標簽循環輸出:
立即學習“PHP免費學習筆記(深入)”;
{$list['username']} find()?主鍵查詢
當 find() 查詢的條件參數為表主鍵時,可以直接將參數寫入方法內,如:
$Dao?=?M("User"); $list?=?$Dao->find(1);
user 表主鍵為 uid,該例子將查詢 uid=1 的數據,這是 ActiveRecords 模式實現之一,簡潔直觀。
find方法返回的是一行記錄,結果是一個數組,數組的key和sql中的field相對應,假設:
$res=$model->find(filed="a,b,c");
獲取結果中的a的值用:
$res["a"]
推薦學習:《PHP視頻教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦