php操作mysql取得查詢結果的方法:1、使用【mysql_fetch_array($rs,MYSQL_ASSOC)】函數;2、使用【mysql_fetch_array($rs,MYSQL_BOTH);】函數取得陣列。
php操作mysql取得查詢結果的方法:
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);取得陣列
[@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) 取得數組
[@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]#
以下是補充:
#php取得結果集的幾個方法
<?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()函数来获取到查询结果 $num=mysql_num_rows($result); for($rows_count=0;$rows_count<$num;$rows_count++){ echo "书名:".mysql_result($result,$rows_count,"name"); echo "价格:".mysql_result($result,$rows_count,"price"); echo "出版日期:".mysql_result($result,$rows_count,"publish_data")."<br>"; } //以下是使用mysql_fetch_row()函数来获取到查询结果 while($row=mysql_fetch_row($result)) { echo "书号:".$row[0]."<br>"; echo "书名:".$row[1]."<br>"; echo "价格:".$row[2]."<br>"; echo "出版日期:".$row[3]."<br>"; echo "<br>"; } //以下是使用mysql_fetch_array()函数来获取到查询结果 while($row=mysql_fetch_array($result)) { echo "书号:".$row[0]."<br>"; echo "书名:".$row[1]."<br>"; echo "价格:".$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()函数来获取到查询结果 while($row=mysql_fetch_object($result)) { echo "书号:".$row->id."<br>"; echo "书名:".$row->name."<br>"; echo "价格:".$row->price."<br>"; echo "出版日期:".$row->publish_data."<br>"; echo "<br>"; } ?>
綜合比較
本節主要介紹了取得查詢結果集的4個函數,此處對它們進行綜合比較。
mysql_result()
:優點在於使用方便;而缺點在於功能少,一次呼叫只能取得結果資料集中的一行記錄,對較大型的資料庫效率較低。
mysql_fetch_row()
:優點在於執行效率在4種方法中最高;不足在於只能用數字作為屬性索引來獲得屬性值,在使用時非常容易出現混淆。
mysql_fetch_array()
:執行效率同樣很高,同mysql_fetch_row()相差無幾,並且可以用屬性名方式直接取得得屬性值,因此,在實際應用中最常用。
mysql_fetch_object()
:採用了物件導向的思想,在設計思路上更為先進,如果讀者習慣於物件導向的思路來寫程序,則會很自然的選擇它。其次,此方法的優點也體現在,對於結構較複雜的資料結果,在邏輯上顯得更為清晰。
後3個函數的共同點在於,都是取得目前行的數據,然後自動滑向後一行。有時候,希望控制滑動的行數,這是常常搭配使用的一個函數是mysql_data_seek()
,其定義為:
int mysql_data_seek(int result_identifier,int row_number)
呼叫該函數可以在結果集中向後滑動row_number
行,下次呼叫mysql_fetch_*
函數時,讀取的將是向後滑動row_number
#相關學習推薦:PHP程式設計從入門到精通
以上是php如何操作mysql取得查詢結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!