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

PHP 使用 mysql_fetch_row 查詢資料庫並取得列表資料

     編輯:PHP 相關知識

前言

注意: mysql_* 系列函數已於 PHP 7.0 移除,現代專案請改用 mysqli 或 PDO。本文僅供舊版程式碼維護參考。

mysql_fetch_row 基本語法

array mysql_fetch_row ( resource $result )
  • 參數 $result 為 mysql_query() 成功返回的資源。
  • 成功返回索引陣列(數字鍵 0,1,2...),失敗返回 FALSE。

完整連線與查詢範例

<?php
$host = 'localhost';
$user = 'abc';
$pass = '1234';
$dbname = 'w3db';

$conn = mysql_connect($host, $user, $pass);
if (!$conn) {
    die('資料庫連線失敗: ' . mysql_error());
}

if (!mysql_select_db($dbname, $conn)) {
    die('資料庫選擇失敗: ' . mysql_error());
}

$query = "SELECT ISBN, Title, Author FROM articles";
$result = mysql_query($query, $conn);
if (!$result) {
    die('查詢失敗: ' . mysql_error());
}

while ($row = mysql_fetch_row($result)) {
    // $row[0] = ISBN, $row[1] = Title, $row[2] = Author
    echo "ISBN = {$row[0]}<br>";
    echo "Title = {$row[1]}<br>";
    echo "Author = {$row[2]}<br><br>";
}

mysql_free_result($result);
mysql_close($conn);
?>

重要提醒

  • 索引陣列:mysql_fetch_row 僅返回數字索引,無法用欄位名稱存取(如 $row['ISBN'] 會報錯),原文範例有誤。
  • 資源釋放:查詢結束後務必呼叫 mysql_free_result() 釋放記憶體。
  • 安全性:實際專案務必使用 Prepared Statements 防止 SQL Injection。

現代替代方案(mysqli 範例)

<?php
$mysqli = new mysqli('localhost', 'abc', '1234', 'w3db');
if ($mysqli->connect_errno) {
    die('連線失敗: ' . $mysqli->connect_error);
}

$stmt = $mysqli->prepare("SELECT ISBN, Title, Author FROM articles");
$stmt->execute();
$stmt->bind_result($isbn, $title, $author);
while ($stmt->fetch()) {
    echo "ISBN = $isbn<br>Title = $title<br>Author = $author<br><br>";
}
$stmt->close();
$mysqli->close();
?>

總結

mysql_fetch_row 適合舊版 PHP 專案維護,新專案請改用 mysqli 或 PDO 以確保安全與相容性。希望本文對您的 PHP 程式設計有所幫助。

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