在php與mysql數據庫查詢我總結了四種方法mysql_result(),mysql_fetch_row(),mysql_fetch_array(),mysql_fetch_object(),四種辦法,下面我們一個個來測試并看那個性能最好.
1.使用mysql_result()來獲取數據,代碼如下:
- <?php
- $connection=mysql_connect("localhost","root","password"); //連接并選擇數據庫服務器
- mysql_select_db("test",$connection);
- $query="insert into users(user_name)"; //在test數據庫里插入一條數據
- $query.="values('tuxiaohui')";
- $result=mysql_query($query);
- if(!$query)
- echo "insert data failed!<br>";
- else{
- $query="select * from users"; //查詢數據
- $result=mysql_query($query,$connection);
- for($rows_count=0;$rows_count<7;$rows_count++) //用mysql_result獲得數據并輸出,mysql_result() 返回 MySQL 結果集中一個單元的內容。
- {
- echo "用戶ID:".mysql_result($result,$rows_count,"user_id")."<br>";
- echo "用戶名:".mysql_result($result,$rows_count,"user_name")."<br>";
- }
- }
- ?>
2.使用mysql_fetch_row()來獲取數據,以數組的形式返回查詢結果,代碼如下:
- <?php
- $connection=mysql_connect("localhost","root","password"); //連接并選擇數據庫服務器
- mysql_select_db("test",$connection);
- $query="select * from users";
- $result=mysql_query($query,$connection);
- while($row=mysql_fetch_row($result))
- {
- echo "用戶ID:".$row[0]."<br>";
- echo "用戶名:".$row[1]."<br>";
- }
- ?>
3.使用mysql_fetch_array()來獲取數據,同mysql_fetch_row()類似,也是獲取結果集中當前行數據,并在調用后自動滑向下一行,代碼如下:
- <?php
- $connection=mysql_connect("localhost","root","password"); //連接并選擇數據庫服務器
- mysql_select_db("test",$connection);
- $query="select * from users";
- $result=mysql_query($query,$connection);
- while($row=mysql_fetch_array($result))
- {
- echo "用戶ID:".$row[0]."<br>"; //也可以寫做$row["user_id"]
- echo "用戶名:".$row[1]."<br>"; //也可以寫做$row["user_name"]
- }
- ?>
4.使用mysql_fetch_object()以對象的形式返回查詢結果,也是用于查詢數據結果集,返回當前行數據,并自動滑向下一行,不同的是它返回的是一個對象,這個對象的屬性集合即為數據的屬性集合,而屬性上的值則為數據庫中當前行該屬性上的值,代碼如下:
- <?php
- $connection=mysql_connect("localhost","root","root"); //連接并選擇數據庫服務器
- mysql_select_db("test",$connection);
- $query="select * from users";
- $result=mysql_query($query,$connection);
- while($row=mysql_fetch_object($result))
- {
- echo "用戶ID:".$row->user_id."<br>"; //通過對象運算符->獲得改行數據在其屬性上的值。
- echo "用戶名:".$row->user_name."<br>";
- }//Vevb.com
- ?>
5.綜合比較:
mysql_result():優點在于使用方便,其缺點在于功能少,一次調用只能獲取結果數據集中的一行元素,對較大型的數據庫效率較低.
mysql_fetch_row():優點在于執行效率在4種方法中最高,不足在于只能用數字作為屬性索引來獲得屬性值,在使用時非常容易出現混淆.
mysql_fetch_array():執行效率同樣高,同mysql_fetch_row()相差無幾,并且可以用屬性名方式直接獲得屬性值,因此在實際應用中最常用.
mysql_fetch_object():采用了面向對象思想,在設計思路上更為先進,如果習慣于用面向對象的思路來寫程序,則會很自地選擇它,其次,該方法的優點還體現在,對于結構較為負責的數據結果,在邏輯上更為清晰.
新聞熱點
疑難解答