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

PHP 使用 mysql_fetch_object 取得查詢結果物件集合

     編輯:PHP 相關知識

前言

注意: mysql_* 函數已棄用(PHP 7.0 移除),本文僅供舊版程式碼參考。新專案請使用 mysqli_fetch_object() 或 PDO::fetchObject()。

mysql_fetch_object 語法與特性

object mysql_fetch_object ( resource $result )
  • 從結果集取得下一列並返回為物件(stdClass),屬性名對應欄位名。
  • 成功返回物件,無更多資料或失敗返回 FALSE。
  • 屬性名區分大小寫,需與 SQL 查詢的欄位名稱完全一致。

完整範例程式碼

<?php
$conn = mysql_connect('localhost', 'abc', '1234');
if (!$conn) die('連線失敗: ' . mysql_error());

if (!mysql_select_db('w3db', $conn)) die('選擇資料庫失敗');

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

while ($obj = mysql_fetch_object($result)) {
    // 使用物件屬性存取欄位
    echo "ISBN = {$obj->ISBN}<br>";
    echo "Title = {$obj->Title}<br>";
    echo "Author = {$obj->Author}<br><br>";
}

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

與 mysql_fetch_assoc / mysql_fetch_row 比較

函數返回型別存取方式
mysql_fetch_row索引陣列$row[0], $row[1]...
mysql_fetch_assoc關聯陣列$row['ISBN'], $row['Title']...
mysql_fetch_object物件 (stdClass)$obj->ISBN, $obj->Title...

現代 mysqli 寫法

<?php
$mysqli = new mysqli('localhost', 'abc', '1234', 'w3db');
$stmt = $mysqli->prepare("SELECT ISBN, Title, Author FROM articles");
$stmt->execute();
$result = $stmt->get_result();
while ($obj = $result->fetch_object()) {
    echo "ISBN = {$obj->ISBN}<br>";
    echo "Title = {$obj->Title}<br>";
    echo "Author = {$obj->Author}<br><br>";
}
$stmt->close();
$mysqli->close();
?>

總結

mysql_fetch_object 以物件導向方式存取資料,程式碼可讀性佳。但請務必遷移至 mysqli 或 PDO 確保專案長期可維護。希望本文對您的 PHP 程式設計有所幫助。

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