既然是遍歷,那就將數據庫指針先移到第一條記錄,逐次取出數據進行運算,下移指針,直到庫結束。
網站建設哪家好,找創(chuàng)新互聯(lián)建站!專注于網頁設計、網站建設、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了田東免費建站歡迎大家使用!
通常的代碼如下:
mysql_data_seek($result,0);//指針復位
while($row=mysql_fetch_array($result))?{?
//對每行記錄進行運算?處理,如?:echo?$row['name']."br?/";?
}
thinkphp如何查詢數據庫?
數據庫查詢
ThinkPHP內置了非常靈活的查詢方法,可以快速的進行數據查詢操作。
查詢條件可以用于CURD等任何操作,作為where方法的參數傳入即可。
ThinkPHP可以支持直接使用字符串作為查詢條件,但是大多數情況推薦使用索引數組或者對象來作為查詢條件,因為會更加安全。
查詢方式
一、使用字符串作為查詢條件
這是最傳統(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
二、使用數組作為查詢條件
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內置對象為例)
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
使用對象方式查詢和使用數組查詢的效果是相同的,并且是可以互換的,大多數情況下,我們建議采用數組方式更加高效,后面我們會以數組方式為例來講解具體的查詢語言用法。
表達式查詢
上面的查詢條件僅僅是一個簡單的相等判斷,可以使用查詢表達式支持更多的SQL查詢語法,并且可以用于數組或者對象方式的查詢(下面僅以數組方式為例說明),查詢表達式的使用格式:
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如何查詢數據庫的詳細內容,更多請關注php中文網其它相關文章!
//1.連接數據庫
$link?=?@mysql_connect('localhost','root','123456');
//2.判斷是否連接成功
if(!$link)?exit('數據庫連接失敗');
//3.選擇數據庫
mysql_select_db('mydatabase');
//4.設置字符集??utf8
mysql_set_charset('utf8');
//5.準備一個SQL語句
$sql?=?'select?*?from?user';
//6.發(fā)送SQL語句
$result?=?mysql_query($sql);
//7.判斷并處理返回結果
if($result){
while($row?=?mysql_fetch_array($result)){
$list[]?=?$row;
}
echo?"pre";
print_r($list);
echo?"/pre";
}
//8.釋放資源
mysql_free_result($result);???//查詢操作才需要釋放結果集
mysql_close();
php連接查詢數據庫的一般步驟如下:
$con=mysqli_connect("localhost","root","123456","dbname");
$sql="SELECT name FROM web";
$result=mysqli_query($con,$sql);
//mysqli_fetch_array是從?結果集?中取得一行作為數字數組或關聯(lián)數組
/*你可以先var_dump一下你的結果集 ?var_dump($result);看是否為空。如果為空就不關mysqli_fetch_array的事了,你要檢查的就是sql語句。*/
$row=mysqli_fetch_array($result);
在使用php session進行數據查詢時主要有3中方法。第一種是使用函數【mysql_connect()】建立和MYSQL數據庫的連接。mysql_connect()是用來建立和MYSQL數據庫的連接,一共有5個參數,一般情況下只使用前3個參數,分別是MySQL服務器地址、用戶名以及密碼。第二種是使用函數【mysql_select_db()】指定要操作的數據庫。mysql_select_db()是用來指定要操作的數據庫。要是需要操作的數據庫還沒有創(chuàng)建,則需要創(chuàng)建數據庫,然后再創(chuàng)建數據庫中的表。第三種是使用函數【mysql_query()】查詢指令。mysql_query()是查詢指令的專用函數,所有的SQL語句都通過它執(zhí)行,并返回結果集。一般情況下這三種方法是最適用的,希望可以解決你的問題。