首頁 >後端開發 >php教程 >array_slice mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc 的差別

array_slice mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc 的差別

WBOY
WBOY原創
2016-07-29 08:39:481115瀏覽

複製代碼 代碼如下:


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



解析:
mysql_fetch_row,這個函數是從結果集中取一行作為枚舉數據,從和指定的結果標識關聯的結果集中取得一行數據並作為數組返回。 ,這裡是從0開始偏移,也就是說不能用欄位名字來取值,只能用索引來取值,所以如下程式碼是取不到值的:
while($row = mysql_fetch_row($res )){
echo $row['cid'].'::'.$row[1].”;
} //這裡的$row['cid'] 取不到值。
mysql_fetch_array,從結果集中取得一行作為關聯數組,或數字數組,或二者兼有,除了將資料以數字索引方式儲存在數組中之外,還可以將資料作為關聯索引儲存,用字段名作為鍵名。 也就是說他得到的結果像陣列一樣,可以用key或索引來取值,所以
while($row = mysql_fetch_array($res)){
echo $row['cid'].': :'.$row[1].”;
}//這裡$row['cid'],$row[1] 都能得到對應的值。
mysql_fetch_object,顧名思義,從結果集中取得一行作為對象,並將欄位名字做為屬性。 ->title.”";
}
mysql_fetch_assoc,從結果集中取得一行作為關聯數組,也就是說這個函數不能像mysql_fetch_row那樣用索引來取值,只能用字段名字來取,所以
while($row = mysql_fetch_assoc($res)){
echo $row['cid'].'::'.$row[1].”;
} //$row[1]這樣是取不到值的
補充一點:
mysql_fetch_array函數是這樣定義的:array mysql_fetch_array ( resource result [, int result_type]),傳回根據從結果集取得的行產生的數組,如果沒有更多行則傳回FALSE。
mysql_fetch_array() 中可選的第二個參數 result_type 是一個常數,可以接受以下值: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,MY_NUM);所以>請函式某種程度上可以算是mysql_fetch_row()與mysql_fetch_assoc()的集合。另外,mysql_fetch_array()另外還有MYSQL_BOTH參數,將會得到一個同時包含關 聯和數字索引的陣列。
在來說句$row = $db->fetch_array($query);
$db是人資料庫操作類,$db->fetch_array($query),fetch_array($query)是那個db類裡的方法,$row = $db->fetch_array($query)這句的意思是從記錄集$query中得到資料庫中的一行記錄。
不用類別可這樣實作


複製程式碼 程式碼如下:

$c @mysql_selectlect_mysql_select ,$conn);

$query=mysql_query($sql);
while($row=mysql_fetch_array($query)){
$rows[]=$row;
}


以上就介紹了array_slice mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的區別,包括了array_slice方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn