《PHP應(yīng)用:FleaPHP框架數(shù)據(jù)庫查詢條件($conditions)寫法總結(jié)》要點:
本文介紹了PHP應(yīng)用:FleaPHP框架數(shù)據(jù)庫查詢條件($conditions)寫法總結(jié),希望對您有用。如果有疑問,可以聯(lián)系我們。
PHP學(xué)習(xí)本文實例講述了FleaPHP框架數(shù)據(jù)庫查詢條件($conditions)寫法.分享給大家供大家參考,具體如下:
PHP學(xué)習(xí)在FleaPHP中,凡是用到數(shù)據(jù)庫查詢的函數(shù),都需要查詢條件參數(shù)$conditions,現(xiàn)講述用法如下:
PHP學(xué)習(xí)舉例:
PHP學(xué)習(xí)
// $conditions 保存查詢條件
$conditions = 'level_ix > 1';
// $tableOrders 是一個訂單數(shù)據(jù)表的表數(shù)據(jù)入口對象
$order = $tableOrders->find($conditions, 'created DESC', 'id, title, body');
$conditions = array('username' => 'dualface');
// $tableUsers 是一個用戶信息數(shù)據(jù)表的表數(shù)據(jù)入口對象
$user = $tableUsers->find($conditions);
PHP學(xué)習(xí)$conditions 參數(shù)可以是整數(shù)、字符串和數(shù)組三種類型:
PHP學(xué)習(xí)1.如果 $conditions 參數(shù)是一個整數(shù),則假定該整數(shù)為主鍵字段值.
PHP學(xué)習(xí)
// 查詢主鍵字段值為1的記錄
$user = $tableUsers->find(1);
// 如果主鍵字段名為"id",則生成的where字句為"WHERE `id` = 1"
PHP學(xué)習(xí)2.如果 $conditions 參數(shù)是一個字符串,則該字符串將直接作為查詢條件,這種方式可以支持最靈活的查詢條件. 例如:
PHP學(xué)習(xí)
$conditions = 'id < 3'
$user = $tableUsers->find($conditions);
//生成的where字句為"WHERE id < 3"
PHP學(xué)習(xí)3.1.如果 $conditions 參數(shù)是一個數(shù)組,且指定了鍵名和值,則查詢條件中字段名為鍵名,字段值等于鍵值.例如:
PHP學(xué)習(xí)
// 查詢id字段值為3的記錄
$conditions = array(
'id' => '1',
);
$user = $tableUsers->find($conditions);
//生成的where字句為"WHERE `id` = 1"
PHP學(xué)習(xí)3.2.如果 $conditions 參數(shù)是一個數(shù)組,但其中的元素沒有鍵名, 則假定鍵值為自定義查詢條件,例如:
PHP學(xué)習(xí)
$conditions = array('id = 1');
// 生成的where字句為"WHERE `id` = 1"
$user = $tableUsers->find($conditions);
PHP學(xué)習(xí)3.3.$conditions 為數(shù)組時,可以混用字符串和鍵值對兩種風(fēng)格:
PHP學(xué)習(xí)
$conditions = array(
'id < 3',
'sex' => 'male',
);
$user = $tableUsers->find($conditions);
// 生成的where字句為"id < 3 AND `sex` = 'male'"
PHP學(xué)習(xí)$conditions 為數(shù)組時,多個查詢條件之間將使用 AND 布爾運算符進行連接.
PHP學(xué)習(xí)3.4."in()"查詢在FleaPHP中的實現(xiàn).(原文由DreamPig頒發(fā)于http://www.fleaphp.org/bbs/viewthread.php?tid=2168)
我們有時候要用到in這樣的操作,那么在condition里面怎么寫呢?
PHP學(xué)習(xí)
// 假如主鍵名為"id",需要查詢id的值為1、2、3其中之一,則可以這樣寫:
$condition = array(
'in()' => array(1,2,3),
)
$user = $tableUsers->find($conditions);
// 生成的where子句為"WHERE `id` IN (1, 2, 3)"
PHP學(xué)習(xí)那么如果不是主鍵的話怎么寫了呢? 也很簡單,提供鍵值對即可.例如:
PHP學(xué)習(xí)
$condition = array(
'in()' => array(
'username' => array('username1','username2')
)
)
$user = $tableUsers->find($conditions);
// 生成的where子句為"WHERE `username` IN ('username1', 'username2')"
PHP學(xué)習(xí)4.find()函數(shù)中其它參數(shù)的含義和用法如下:
PHP學(xué)習(xí)4.1.$sort 參數(shù)指定查詢時的排序方式,類型只能為字符串
例如 'created ASC' 表示依照"created"字段進行從小到大的排序.
PHP學(xué)習(xí)4.2.$fields 參數(shù)指定查詢結(jié)果中要包含哪些字段,類型可以為字符串或數(shù)組
當(dāng)數(shù)據(jù)表的字段很多時,通過指定 $fields 參數(shù)可以避免查詢不需要的字段,從而提高性能.
PHP學(xué)習(xí)$fields 參數(shù)即可是以","逗號分隔的字段名,也可以是包含多個字段名的數(shù)組,例如:
PHP學(xué)習(xí)
$fields = array('title', 'created');
//也可以寫成下面的字符串形式,兩種寫法作用相同,區(qū)別在于自動生成的字段名兩邊將會添加上"`"符號,以防止出現(xiàn)字段名與SQL關(guān)鍵字沖突的情況出現(xiàn).建議手寫時也加上"`"字符
$fields = 'title, created';
$user = $tableUsers->find('id < 10',NULL,$fields);
PHP學(xué)習(xí)推薦使用數(shù)組,這樣表數(shù)據(jù)入口處理起來更快一些.
PHP學(xué)習(xí)希望本文所述對大家基于FleaPHP框架的PHP程序設(shè)計有所贊助.
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP應(yīng)用:FleaPHP框架數(shù)據(jù)庫查詢條件($conditions)寫法總結(jié)》等實戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/7299.html