thinkphp如何查詢數(shù)據(jù)庫?
為唐河等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及唐河網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都網(wǎng)站制作、網(wǎng)站設計、唐河網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
數(shù)據(jù)庫查詢
ThinkPHP內(nèi)置了非常靈活的查詢方法,可以快速的進行數(shù)據(jù)查詢操作。
查詢條件可以用于CURD等任何操作,作為where方法的參數(shù)傳入即可。
ThinkPHP可以支持直接使用字符串作為查詢條件,但是大多數(shù)情況推薦使用索引數(shù)組或者對象來作為查詢條件,因為會更加安全。
查詢方式
一、使用字符串作為查詢條件
這是最傳統(tǒng)的方式,但是安全性不高,例如:
1
2
$User = M("User"); // 實例化User對象
$User-where('type=1 AND status=1')-select();
最后生成的SQL語句是
1
SELECT * FROM think_user WHERE type=1 AND status=1
二、使用數(shù)組作為查詢條件
1
2
3
4
5
$User = M("User"); // 實例化User對象
$condition['name'] = 'thinkphp';
$condition['status'] = 1;
// 把查詢條件傳入查詢方法
$User-where($condition)-select();
最后生成的SQL語句是
1
SELECT * FROM think_user WHERE 'name'='thinkphp' AND status=1
如果進行多字段查詢,那么字段之間的默認邏輯關系是 邏輯與 AND,但是用下面的規(guī)則可以更改默認的邏輯判斷,通過使用 _logic 定義查詢邏輯:
1
2
3
4
5
6
$User = M("User"); // 實例化User對象
$condition['name'] = 'thinkphp';
$condition['account'] = 'thinkphp';
$condition['_logic'] = 'OR'; //定義查詢邏輯
// 把查詢條件傳入查詢方法
$User-where($condition)-select();
最后生成的SQL語句是
1
SELECT * FROM think_user WHERE 'name'='thinkphp' OR `account`='thinkphp'
三、使用對象方式來查詢 (這里以stdClass內(nèi)置對象為例)
1
2
3
4
5
6
$User = M("User"); // 實例化User對象
// 定義查詢條件
$condition = new stdClass();
$condition-name = 'thinkphp';
$condition-status= 1;
$User-where($condition)-select();
最后生成的SQL語句和上面一樣
1
SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1
使用對象方式查詢和使用數(shù)組查詢的效果是相同的,并且是可以互換的,大多數(shù)情況下,我們建議采用數(shù)組方式更加高效,后面我們會以數(shù)組方式為例來講解具體的查詢語言用法。
表達式查詢
上面的查詢條件僅僅是一個簡單的相等判斷,可以使用查詢表達式支持更多的SQL查詢語法,并且可以用于數(shù)組或者對象方式的查詢(下面僅以數(shù)組方式為例說明),查詢表達式的使用格式:
1
$map['字段名'] = array('表達式','查詢條件');
表達式不分大小寫,支持的查詢表達式有下面幾種,分別表示的含義是:
1
2
3
4
$map['id']? = array('eq',100);? id = 100;
$map['id']? = array('egt',100);id = 100
$map['name'] = array('like','thinkphp%'); name like 'thinkphp%' 模糊查詢
$map['a'] =array('like',array('%thinkphp%','%tp'),'OR');$map['b'] =array('notlike',array('%thinkphp%','%tp'),'AND'); (a like '%thinkphp%' OR a like '%tp') AND (b not like '%thinkphp%' AND b not like '%tp')
本文來自ThinkPHP框架技術文章欄目:
以上就是thinkphp如何查詢數(shù)據(jù)庫的詳細內(nèi)容,更多請關注php中文網(wǎng)其它相關文章!
sybase_connect
連上數(shù)據(jù)庫。
語法: int sybase_connect(string [servername], string [username], string [password]);
返回值: 整數(shù)
函數(shù)種類: 數(shù)據(jù)庫功能
本函數(shù)用來打開與 Sybase 數(shù)據(jù)庫的連接。參數(shù) servername 為欲連上的數(shù)據(jù)庫服務器名稱。參數(shù) username 及 password 可省略,分別為連接使用的帳號及密碼。使用本函數(shù)需注意早點關閉數(shù)據(jù)庫,以減少系統(tǒng)的負擔。連接成功則返回數(shù)據(jù)庫的連接代號,失敗返回 false 值。
esi.q=這里是一個字段名,但是一般人不會給字段名加點
like后邊的是字符串拼接,應該知道的。
常量類型
整數(shù),長整數(shù),無符號數(shù),浮點數(shù),字符,字符串,符號常數(shù),轉義字符。
數(shù)據(jù)類型轉換
?自動轉換:在不同類型數(shù)據(jù)的混合運算中,由系統(tǒng)自動實現(xiàn)轉換,由少字節(jié)類型向多字節(jié)類型轉換。不同類型的量相互賦值時也由系統(tǒng)自動進行轉換,把賦值號右邊的類型轉換為左邊的類型。
?強制轉換:由強制轉換運算符完成轉換。
運算符優(yōu)先級和結合性
一般而言,單目運算符優(yōu)先級較高,賦值運算符優(yōu)先級低。算術運算符優(yōu)先級較高,關系和邏輯運算符優(yōu)先級較低。多數(shù)運算符具有左結合性,單目運算符、三目運算符、賦值運算符具有右結合性。
array就可以呀,而且功能比map豐富,value可以是任意類型,key也可以是字符串或數(shù)字
$arr = array("key1" = 123, "key2" = "hello world");
$arr["key3"] = array("subkey1" = 456, "subkey2" = "hei hei hei");
print_r($arr);