thinkphpphp
thinkphp從擷取到的結果集中中有一天資料,如何提取出來轉化為數組 用什麼方法?
回複內容:
ThinkPHP find方法 查詢一條資料記錄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 等標籤迴圈輸出:{$list['username']}find() 主鍵查詢當 find() 查詢的條件參數為表主鍵時,可以直接將參數寫入方法內,如:$Dao = M("User");$list = $Dao->find(1);user 表主鍵為 uid,該例子將查詢 uid=1 的資料,這是 ActiveRecords 模式實現之一,簡潔直觀。
例如:$list = $Base->where("id='".$id."'")->select();
echo echo $list['title'];
提取數組:
$list = $Base->where("id='".$id."'")->select();
改為
$list = $Base->where("id='".$id."'")->find();
select 查出來是二維數組
如果確定結果只有一條記錄請用find,當然你用select也沒錯,只是有點脫褲子放屁的感覺,用select的話,就得 echo $list[0]['title'];