最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的區(qū)別

 更新時(shí)間:2009年04月24日 00:34:36   作者:  
一直以來,有很多初學(xué)者搞不懂這些Mysql中從查詢結(jié)果集中取得數(shù)據(jù)的函數(shù)之間有什么區(qū)別,今天我就來秀一把,在秀之前先給大家一段PHP實(shí)例
復(fù)制代碼 代碼如下:

<?php
$link=mysql_connect('localhost','root',”);
mysql_select_db('abc',$link);
$sql = “select * from book”;
$result = mysql_query($sql);
while($row = mysql_fetch_row($result))
{
echo $row['cid'].'::'.$row[1].'<br>';
}
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
echo $row['cid'].'::'.$row[1].'<br>';
}
$result = mysql_query($sql);
while($row = mysql_fetch_object($result))
{
echo $row->cid.'::'.$row->title.”<br>”;
}
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
{
echo $row['cid'].'::'.$row[1].'<br>';
}
?>

分析:
mysql_fetch_row,這個(gè)函數(shù)是從結(jié)果集中取一行作為枚舉數(shù)據(jù),從和指定的結(jié)果標(biāo)識關(guān)聯(lián)的結(jié)果集中取得一行數(shù)據(jù)并作為數(shù)組返回。每個(gè)結(jié)果的列儲(chǔ)存在一個(gè)數(shù)組的單元中,偏移量從 0 開始。 注意,這里是從0開始偏移,也就是說不能用字段名字來取值,只能用索引來取值,所以如下代碼是取不到值的:
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ǔ)存,用字段名作為鍵名。 也就是說他得到的結(jié)果像數(shù)組一樣,可以用key或者索引來取值,所以
while($row = mysql_fetch_array($res)){
echo $row['cid'].'::'.$row[1].”;
}//這里$row['cid'],$row[1]都能得到相應(yīng)的值。
mysql_fetch_object,顧名思義,從結(jié)果集中取得一行作為對象,并將字段名字做為屬性。所以只有這樣才能取到值
while($row = mysql_fetch_object($res)){
echo $row->cid.'::'.$row->title.”";
}
mysql_fetch_assoc,從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,也就是說這個(gè)函數(shù)不能像mysql_fetch_row那樣用索引來取值,只能用字段名字來取,所以
while($row = mysql_fetch_assoc($res)){
echo $row['cid'].'::'.$row[1].”;
} //$row[1]這樣是取不到值的
補(bǔ)充一點(diǎn):
mysql_fetch_array函數(shù)是這樣定義的:array mysql_fetch_array ( resource result [, int result_type]),返回根據(jù)從結(jié)果集取得的行生成的數(shù)組,如果沒有更多行則返回 FALSE。
mysql_fetch_array() 中可選的第二個(gè)參數(shù) result_type 是一個(gè)常量,可以接受以下值:MYSQL_ASSOC,MYSQL_NUM 和 MYSQL_BOTH。其中:
1、mysql_fetch_assoc($result)==mysql_fetch_array($result,MYSQL_ASSOC);
2、mysql_fetch_row($result)==mysql_fetch_array($result,MYSQL_NUM);
所以mysql_fetch_array()函數(shù)在某種程度上可以算是mysql_fetch_row()與 mysql_fetch_assoc()的集合。另外,mysql_fetch_array()另外還有MYSQL_BOTH參數(shù),將得到一個(gè)同時(shí)包含關(guān) 聯(lián)和數(shù)字索引的數(shù)組。
在來說句 $row = $db->fetch_array($query);
$db是人數(shù)據(jù)庫操作類,$db->fetch_array($query),fetch_array($query)是那個(gè)db類里的方法,$row = $db->fetch_array($query)這句的意思是從記錄集$query中得到數(shù)據(jù)庫中的一行記錄。
不用類可這樣實(shí)現(xiàn)
復(fù)制代碼 代碼如下:

$conn=@mysql_connect($host,$user,$pass);
@mysql_select_db($database,$conn);
$query=mysql_query($sql);
while($row=mysql_fetch_array($query)){
$rows[]=$row;
}

相關(guān)文章

最新評論

黎川县| 泗水县| 灌阳县| 扎赉特旗| 津南区| 成都市| 湘乡市| 柳州市| 南江县| 隆化县| 巨鹿县| 齐河县| 黄山市| 扎囊县| 敦化市| 福贡县| 利津县| 海兴县| 兴安盟| 九寨沟县| 泸西县| 马鞍山市| 察哈| 那坡县| 东宁县| 永仁县| 应用必备| 崇左市| 页游| 浦江县| 盐亭县| 双江| 海林市| 秦安县| 南召县| 渝北区| 库车县| 五原县| 湖州市| 西和县| 阳山县|