首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 實例:讀取 MySQL 數據的三種方法對比

     編輯:PHP 相關知識

場景設定

連接 localhost:3306,用戶 root/9999,資料庫 ok,表 abc(欄位 id、name),讀取全表數據。

共用連接代碼

<?php
$dbh = @mysql_connect("localhost:3306", "root", "9999");
if (!$dbh) die("error");
@mysql_select_db("ok", $dbh);
$q = "SELECT * FROM abc";
?>

方法一:mysql_fetch_row() — 數值索引陣列

<?php
$rs = mysql_query($q, $dbh);
if (!$rs) die("Valid result!");
echo "<table><tr><td>ID</td><td>Name</td></tr>";
while ($row = mysql_fetch_row($rs)) {
    echo "<tr><td>$row[0]</td><td>$row[1]</td></tr>";
}
echo "</table>";
?>

$row[0]、$row[1] 對應 SELECT 列順序,可互換位置。

方法二:mysql_fetch_object() — 物件屬性訪問

<?php
$rs = mysql_query($q, $dbh);
while ($row = mysql_fetch_object($rs)) {
    echo "$row->id $row->name <br />";
}
?>

以欄位名為屬性,語義清晰,順序不影響輸出。

方法三:mysql_fetch_array() — 關聯+數值雙索引(最快)

<?php
$rs = mysql_query($q, $dbh);
while ($row = mysql_fetch_array($rs)) {
    echo "$row[id] $row[name] <br />";
}
?>

同時支援 $row[0] 和 $row['id'],靈活度最高,官方文檔標註性能最優。

收尾

<?php @mysql_close($dbh); ?>

遷移提醒

mysql_* 系列已於 PHP 7.0 移除,現代專案請使用 mysqli 或 PDO,並採用預處理語句防注入。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved