php数据库中数据查询
MySQL查詢語(yǔ)句
mysql_fetch_row,mysql_fetch_array,mysql_fetch_object,mysql_fetch_assoc 區(qū)別用法:
mysql_fetch_row,這個(gè)函數(shù)是從結(jié)果集中取一行作為枚舉數(shù)據(jù),從和指定的結(jié)果標(biāo)識(shí)關(guān)聯(lián)的結(jié)果集中取得一行數(shù)據(jù)并作為數(shù)組返回。每個(gè)結(jié)果的列儲(chǔ)存在一個(gè)數(shù)組的單元中,偏移量從 0 開(kāi)始。 注意,這里是從0開(kāi)始偏移,也就是說(shuō)不能用字段名字來(lái)取值,只能用索引來(lái)取值,所以如下代碼是取不到值的:
1 while($row = mysql_fetch_row($res)){ echo $row['cid'].'::'.$row[1].''; } //這里的$row['cid'] 取不到值。 mysql_fetch_array,從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,或數(shù)字?jǐn)?shù)組,或二者兼有,除了將數(shù)據(jù)以數(shù)字索引方式儲(chǔ)存在數(shù)組中之外,還可以將數(shù)據(jù)作為關(guān)聯(lián)索引儲(chǔ)存,用字段名作為鍵名。 也就是說(shuō)他得到的結(jié)果像數(shù)組一樣,可以用key或者索引來(lái)取值,所以
1
2while($row = mysql_fetch_array($res)){ echo $row['cid'].'::'.$row[1].''; }
//這里$row['cid'],$row[1]都能得到相應(yīng)的值。補(bǔ)充: mysql_fetch_array函數(shù)是這樣定義的:array mysql_fetch_array ( resource result [, int result_type])。返回根據(jù)從結(jié)果集取得的行生成的數(shù)組,如果沒(méi)有更多行則返回 FALSE。
mysql_fetch_array() 中可選的第二個(gè)參數(shù) result_type 是一個(gè)常量,可以接受以下值:
- MYSQL_ASSOC,mysql_fetch_assoc($result)==mysql_fetch_array($result,MYSQL_ASSOC);
- MYSQL_NUM , mysql_fetch_row($result)==mysql_fetch_array($result,MYSQL_NUM);。
- MYSQL_BOTH,將得到一個(gè)同時(shí)包含關(guān)聯(lián)和數(shù)字索引的數(shù)組。
所以mysql_fetch_array()函數(shù)在某種程度上可以算是mysql_fetch_row()與 mysql_fetch_assoc()的集合
mysql_fetch_object,顧名思義,從結(jié)果集中取得一行作為對(duì)象,并將字段名字做為屬性。所以只有這樣才能取到值
1 while($row = mysql_fetch_object($res)){ echo $row->cid.'::'.$row->title.''; } mysql_fetch_assoc,從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,也就是說(shuō)這個(gè)函數(shù)不能像mysql_fetch_row那樣用索引來(lái)取值,只能用字段名字來(lái)取,所以
1 while($row = mysql_fetch_assoc($res)){ echo $row['cid'].'::'.$row[1].''; } //$row[1]這樣是取不到值的
查詢數(shù)據(jù)庫(kù)數(shù)據(jù)表的數(shù)據(jù)
mysql_fetch_row()查詢某行記錄中的多個(gè)字段
1
2
3
4$exec = "select * from ".$table_name." where dem_id=$Type_ID";
$result = mysql_query($exec);
$rs = mysql_fetch_row($result);
echo "$rs[0], $rs[1], $rs[2], $rs[3], $rs[4],~ $rs[n] "; //輸出查詢到的該行的按數(shù)據(jù)庫(kù)字段順序的值mysql_fetch_row()查詢某行記錄中的某個(gè)字段
1
2
3
4$exec = "select dem_name from ".$table_name." where dem_id=$Type_ID";
$result = mysql_query($exec);
$rs = mysql_fetch_row($result);
echo "$rs[0]"; // 輸出即為要查詢的那個(gè)字段查詢多行多列
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20$exec = "select * from ".$table_name;
$result = mysql_query($exec);
while($row = mysql_fetch_row($res)){
echo $row[0], $rs[1],~$row[n].'';
}
while($row = mysql_fetch_array($res)){
echo $row['cid'].'::'.$row[1].'';
//這里$row['cid'],$row[1]都能得到相應(yīng)的值。
}
while ($rs = mysql_fetch_object($result)) {
echo "".$rs-> dem_id."";
// 輸出即為要查詢的每一行的某些字段
}
while($row = mysql_fetch_assoc($res)){
echo $row['cid'].'';
}
調(diào)試
查詢數(shù)據(jù)庫(kù)時(shí),出現(xiàn)下列錯(cuò)誤,可能是因?yàn)椴樵兊谋砻麊我?hào)和雙引號(hào)問(wèn)題。
| 1 | Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\Users\MR\Desktop\dsplab\test1.php |
總結(jié)
以上是生活随笔為你收集整理的php数据库中数据查询的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: memcache、Redis与Mongo
- 下一篇: Matlab学习笔记1—MATLAB基础