mysql_fetch_row()與mysql_fetch_array()的使用介紹
這兩個(gè)函數(shù),返回的都是一個(gè)數(shù)組,區(qū)別就是第一個(gè)函數(shù)返回的數(shù)組是只包含值,我們只能$row[0],
$row[1],這樣以數(shù)組下標(biāo)來(lái)讀取數(shù)據(jù),而mysql_fetch_array()返回的數(shù)組既包含第一種,也包含鍵值
對(duì)的形式,我們可以這樣讀取數(shù)據(jù),(假如數(shù)據(jù)庫(kù)的字段是 username,passwd):
$row['username'], $row['passwd']
而且,如果用($row as $kay => $value)來(lái)操作的話,還以直接取得數(shù)據(jù)庫(kù)的字段名稱(chēng)。
更主要的是mysqli是php5提供的新函數(shù)庫(kù),(i)表示改進(jìn),其執(zhí)行速度更快.
例如:
<?php
//連接到本地mysql數(shù)據(jù)庫(kù),選擇test為操作庫(kù)
$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))//通過(guò)循環(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ù)庫(kù)的連接
mysqli_free_result($result);
mysqli_close($mysqli);*/
?>
mysql_fetch_array --從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,或數(shù)字?jǐn)?shù)組,或二者兼有
說(shuō)明array mysql_fetch_array ( resource result [, int result_type])
返回根據(jù)從結(jié)果集取得的行生成的數(shù)組,如果沒(méi)有更多行則返回 FALSE。
mysql_fetch_array() 是 mysql_fetch_row() 的擴(kuò)展版本。除了將數(shù)據(jù)以數(shù)字索引方式儲(chǔ)存在數(shù)組中之外,還可以將數(shù)據(jù)作為關(guān)聯(lián)索引儲(chǔ)存,用字段名作為鍵名。
如果結(jié)果中的兩個(gè)或以上的列具有相同字段名,最后一列將優(yōu)先。要訪問(wèn)同名的其它列,必須用該列的數(shù)字索引或給該列起個(gè)別名。對(duì)有別名的列,不能再用原來(lái)的列名訪問(wèn)其內(nèi)容(本例中的 'field')。
例子 1. 相同字段名的查詢(xún)
select table1.field as foo, table2.field as bar from table1, table2
有一點(diǎn)很重要必須指出,用 mysql_fetch_array() 并不明顯 比用 mysql_fetch_row() 慢,而且還提供了明顯更多的值。
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ù)返回的字段名是大小寫(xiě)敏感的。
例子 2. mysql_fetch_array 使用 MYSQL_NUM
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");
$result = mysql_query("SELECT id, name FROM mytable");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf ("ID: %s Name: %s", $row[0], $row[1]);
}
mysql_free_result($result);
?>
例子 3. mysql_fetch_array 使用 MYSQL_ASSOC
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");
$result = mysql_query("SELECT id, name FROM mytable");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
printf ("ID: %s Name: %s", $row["id"], $row["name"]);
}
mysql_free_result($result);
?>
例子 4. mysql_fetch_array 使用 MYSQL_BOTH
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");
$result = mysql_query("SELECT id, name FROM mytable");
while ($row = mysql_fetch_array($result, MYSQL_BOTH)) {
printf ("ID: %s Name: %s", $row[0], $row["name"]);
}
mysql_free_result($result);
?>
參見(jiàn) mysql_fetch_row() 和 mysql_fetch_assoc
mysql_fetch_row -- 從結(jié)果集中取得一行作為枚舉數(shù)組
說(shuō)明
array mysql_fetch_row ( resource result)
返回根據(jù)所取得的行生成的數(shù)組,如果沒(méi)有更多行則返回 FALSE。
mysql_fetch_row() 從和指定的結(jié)果標(biāo)識(shí)關(guān)聯(lián)的結(jié)果集中取得一行數(shù)據(jù)并作為數(shù)組返回。每個(gè)結(jié)果的列儲(chǔ)存在一個(gè)數(shù)組的單元中,偏移量從 0 開(kāi)始。
依次調(diào)用 mysql_fetch_row() 將返回結(jié)果集中的下一行,如果沒(méi)有更多行則返回 FALSE。
相關(guān)文章
mysql中find_in_set()函數(shù)的使用詳解
這篇文章主要介紹了mysql中find_in_set()函數(shù)的使用,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-05-05
mysql中insert與select的嵌套使用解決組合字段插入問(wèn)題
本節(jié)主要介紹了mysql中insert與select的嵌套使用解決組合字段插入問(wèn)題,需要的朋友可以參考下2014-07-07
Mysql系列SQL查詢(xún)語(yǔ)句書(shū)寫(xiě)順序及執(zhí)行順序詳解
這篇文章主要為大家介紹了Mysql系列SQL查詢(xún)語(yǔ)句的書(shū)寫(xiě)順序及執(zhí)行順序示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-10-10
解決Navicat導(dǎo)入數(shù)據(jù)庫(kù)數(shù)據(jù)結(jié)構(gòu)sql報(bào)錯(cuò)datetime(0)的問(wèn)題
這篇文章主要介紹了解決Navicat導(dǎo)入數(shù)據(jù)庫(kù)數(shù)據(jù)結(jié)構(gòu)sql報(bào)錯(cuò)datetime(0)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
MySQL中Select查詢(xún)語(yǔ)句的高級(jí)用法分享
MySQL是一個(gè)開(kāi)源的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),支持多種操作語(yǔ)言,其中最基礎(chǔ)、最常用的命令之一就是SELECT語(yǔ)句,所以本文就來(lái)和大家聊聊Select查詢(xún)語(yǔ)句的幾個(gè)高級(jí)用法吧2023-05-05
MYSQL不能從遠(yuǎn)程連接的一個(gè)解決方法(s not allowed to connect to this MySQL s
MYSQL不能從遠(yuǎn)程連接的一個(gè)解決方法(s not allowed to connect to this MySQL server)2011-08-08

