這兩個(gè)函數(shù),返回的都是一個(gè)數(shù)組,區(qū)別就是第一個(gè)函數(shù)返回的數(shù)組是只包含值,我們只能$row[0],
$row[1],這樣以數(shù)組下標(biāo)來讀取數(shù)據(jù),而mysql_fetch_array()返回的數(shù)組既包含第一種,也包含鍵值
對(duì)的形式,我們可以這樣讀取數(shù)據(jù),(假如數(shù)據(jù)庫的字段是 username,passwd):
$row['username'], $row['passwd']
而且,如果用($row as $kay => $value)來操作的話,還以直接取得數(shù)據(jù)庫的字段名稱。
更主要的是mysqli是php5提供的新函數(shù)庫,(i)表示改進(jìn),其執(zhí)行速度更快.
例如:
| <?php//連接到本地mysql數(shù)據(jù)庫,選擇test為操作庫$mysqli = mysqli_connect("localhost", "root", "","test", 3306);//用mysql_query函數(shù)從user表里讀取數(shù)據(jù)$result = mysqli_query($mysqli, "SELECT * FROM userinfo");while($row = mysqli_fetch_array($result))//通過循環(huán)讀取數(shù)據(jù)內(nèi)容{?><tr> <td align="center" height="19"><?php echo $row["ID"]?></td> <td align="center"><?php echo $row["Name"]?></td> <td align="center"><?php echo $row["Detail"]?></td></tr><?php}//關(guān)閉對(duì)數(shù)據(jù)庫的連接mysqli_free_result($result);mysqli_close($mysqli);*/?> |
mysql_fetch_array --從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,或數(shù)字?jǐn)?shù)組,或二者兼有
說明array mysql_fetch_array ( resource result [, int result_type])
返回根據(jù)從結(jié)果集取得的行生成的數(shù)組,如果沒有更多行則返回 FALSE。
mysql_fetch_array() 是 mysql_fetch_row() 的擴(kuò)展版本。除了將數(shù)據(jù)以數(shù)字索引方式儲(chǔ)存在數(shù)組中之外,還可以將數(shù)據(jù)作為關(guān)聯(lián)索引儲(chǔ)存,用字段名作為鍵名。
如果結(jié)果中的兩個(gè)或以上的列具有相同字段名,最后一列將優(yōu)先。要訪問同名的其它列,必須用該列的數(shù)字索引或給該列起個(gè)別名。對(duì)有別名的列,不能再用原來的列名訪問其內(nèi)容(本例中的 'field')。
例子 1. 相同字段名的查詢
mysql_fetch_array() 中可選的第二個(gè)參數(shù) result_type 是一個(gè)常量,可以接受以下值:MYSQL_ASSOC,MYSQL_NUM 和 MYSQL_BOTH。本特性是 PHP 3.0.7 起新加的。本參數(shù)的默認(rèn)值是 MYSQL_BOTH。
如果用了 MYSQL_BOTH,將得到一個(gè)同時(shí)包含關(guān)聯(lián)和數(shù)字索引的數(shù)組。用 MYSQL_ASSOC 只得到關(guān)聯(lián)索引(如同 mysql_fetch_assoc()那樣),用 MYSQL_NUM 只得到數(shù)字索引(如同 mysql_fetch_row()那樣)。
注: 該函數(shù)返回的字段名是大小寫敏感的。
例子 2. mysql_fetch_array 使用 MYSQL_NUM
新聞熱點(diǎn)
疑難解答
圖片精選