php操作mysql獲取select 結(jié)果的幾種方法
如果用了 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 那樣)。
1. mysql_fetch_array($rs,MYSQL_ASSOC)
[@test01 model]# php test.php
Array
(
[name] => hellokitty
[addr] => i dont kno
)
[@test01 model]# more test.php
<?php
$link=mysql_connect("10.12.136.181","hello","hello");
if(!$link)
echo "沒有連接成功!";
mysql_select_db("hhhhh", $link);
$q = "SELECT * FROM hello";
mysql_query("SET NAMES GB2312");
$rs = mysql_query($q);
if(!$rs)
{
die("Valid result!");
}
$result=mysql_fetch_array($rs,MYSQL_ASSOC);
print_r($result);
mysql_free_result($rs);
?>
2.mysql_fetch_array($rs,MYSQL_BOTH);獲取數(shù)組
[@test01 model]# more test.php
<?php
$link=mysql_connect("10.12.136.181","hello","hello");
if(!$link)
echo "沒有連接成功!";
mysql_select_db("hhhhh", $link);
$q = "SELECT * FROM hello";
mysql_query("SET NAMES GB2312");
$rs = mysql_query($q);
if(!$rs)
{
die("Valid result!");
}
$result=mysql_fetch_array($rs,MYSQL_ASSOC);
print_r($result);
mysql_free_result($rs);
?>
[@test01 model]# vim test.php
[@test01 model]# php test.php
Array
(
[0] => hellokitty
[name] => hellokitty
[1] => i dont kno
[addr] => i dont kno
)
[@test01 model]#
3.mysql_fetch_array($rs,MYSQL_NUM) 獲取數(shù)組
[@test01 model]# php test.php
Array
(
[0] => hellokitty
[1] => i dont kno
)
[@test01 model]# more test.php
<?php
$link=mysql_connect("10.12.136.181","hello","hello");
if(!$link)
echo "沒有連接成功!";
mysql_select_db("hhhhh", $link);
$q = "SELECT * FROM hello";
mysql_query("SET NAMES GB2312");
$rs = mysql_query($q);
if(!$rs)
{
die("Valid result!");
}
$result=mysql_fetch_array($rs,MYSQL_NUM);
print_r($result);
mysql_free_result($rs);
?>
[@test01 model]#
下面是補(bǔ)充:
php獲取結(jié)果集的幾個(gè)方法
<?php
$conn=mysql_connect("localhost","root","");
$select=mysql_select_db("books",$conn);
$query="insert into computers(name,price,publish_data) ";
$query.="values('JSP',28.00,'2008-11-1')";
$query="select * from computers";
$result=mysql_query($query);
//以下是使用mysql_result()函數(shù)來獲取到查詢結(jié)果
$num=mysql_num_rows($result);
for($rows_count=0;$rows_count<$num;$rows_count++){
echo "書名:".mysql_result($result,$rows_count,"name");
echo "價(jià)格:".mysql_result($result,$rows_count,"price");
echo "出版日期:".mysql_result($result,$rows_count,"publish_data")."<br>";
}
//以下是使用mysql_fetch_row()函數(shù)來獲取到查詢結(jié)果
while($row=mysql_fetch_row($result))
{
echo "書號:".$row[0]."<br>";
echo "書名:".$row[1]."<br>";
echo "價(jià)格:".$row[2]."<br>";
echo "出版日期:".$row[3]."<br>";
echo "<br>";
}
//以下是使用mysql_fetch_array()函數(shù)來獲取到查詢結(jié)果
while($row=mysql_fetch_array($result))
{
echo "書號:".$row[0]."<br>";
echo "書名:".$row[1]."<br>";
echo "價(jià)格:".$row["price"]."<br>";
echo "出版日期:".$row["publish_data"]."<br>";
echo "<br>";
}
//mysql_fetch_assoc()同mysql_fetch_array($result,MYSQL_ASSOC)一樣
while($row = mysql_fetch_assoc($res)){
echo $row['price'].'::'.$row['publish_data'].”;
} //$row[0]不能取值
//以下是使用mysql_fetch_object()函數(shù)來獲取到查詢結(jié)果
while($row=mysql_fetch_object($result))
{
echo "書號:".$row->id."<br>";
echo "書名:".$row->name."<br>";
echo "價(jià)格:".$row->price."<br>";
echo "出版日期:".$row->publish_data."<br>";
echo "<br>";
}
?>
綜合比較
本節(jié)主要介紹了獲取查詢結(jié)果集的4個(gè)函數(shù),此處對它們進(jìn)行綜合比較。
● mysql_result():優(yōu)點(diǎn)在于使用方便;而缺點(diǎn)在于功能少,一次調(diào)用只能獲取結(jié)果數(shù)據(jù)集中的一行記錄,對較大型的數(shù)據(jù)庫效率較低。
● mysql_fetch_row():優(yōu)點(diǎn)在于執(zhí)行效率在4種方法中最高;不足在于只能用數(shù)字作為屬性索引來獲得屬性值,在使用時(shí)非常容易出現(xiàn)混淆。
● mysql_fetch_array():執(zhí)行效率同樣很高,同mysql_fetch_row()相差無幾,并且可以用屬性名方式直接獲取得屬性值,因此,在實(shí)際應(yīng)用中最常用。
● mysql_fetch_object():采用了面向?qū)ο蟮乃枷?,在設(shè)計(jì)思路上更為先進(jìn),如果讀者習(xí)慣于面向?qū)ο蟮乃悸穪韺懗绦?,則會很自然的選擇它。其次,該方法的優(yōu)點(diǎn)還體現(xiàn)在,對于結(jié)構(gòu)較為復(fù)雜的數(shù)據(jù)結(jié)果,在邏輯上顯得更為清晰。
后3個(gè)函數(shù)的共同點(diǎn)在于,都是取得當(dāng)前行的數(shù)據(jù),然后自動滑向后一行。有時(shí)候,希望控制滑動的行數(shù),這是常常搭配使用的一個(gè)函數(shù)是mysql_data_seek(),其定義為:
int mysql_data_seek(int result_identifier,int row_number)
調(diào)用該函數(shù)可以在結(jié)果集中向后滑動row_number行,在下一次調(diào)用mysql_fetch_*函數(shù)時(shí),讀取的將是向后滑動row_number行后的記錄。
相關(guān)文章
PHP函數(shù)preg_match_all正則表達(dá)式的基本使用詳細(xì)解析
以下是對PHP中的函數(shù)preg_match_all正則表達(dá)式的基本使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-08-08
php中使用key,value,current,next和prev函數(shù)遍歷數(shù)組的方法
這篇文章主要介紹了php中使用key,value,current,next和prev函數(shù)遍歷數(shù)組的方法,較為詳細(xì)的分析了php中數(shù)組遍歷的常用技巧與實(shí)例用法,需要的朋友可以參考下2015-03-03
PHP隨機(jī)生成中文段落示例【測試網(wǎng)站內(nèi)容時(shí)使用】
這篇文章主要介紹了PHP隨機(jī)生成中文段落,結(jié)合實(shí)例形式分析了PHP針對隨機(jī)中文段落的編碼轉(zhuǎn)換、生成相關(guān)操作技巧,需要的朋友可以參考下2020-04-04
php htmlspecialchars加強(qiáng)版
加強(qiáng)版htmlspecialchars2010-02-02
php在apache環(huán)境下實(shí)現(xiàn)gzip配置方法
這篇文章主要介紹了php在apache環(huán)境下實(shí)現(xiàn)gzip配置方法,較為詳細(xì)的分析了相關(guān)配置文件的修改技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
jQuery+php簡單實(shí)現(xiàn)全選刪除的方法
這篇文章主要介紹了jQuery+php簡單實(shí)現(xiàn)全選刪除的方法,涉及php結(jié)合jQuery操作表單的全選及ajax交互實(shí)現(xiàn)刪除的相關(guān)技巧,需要的朋友可以參考下2016-11-11

