注意: mysql_* 函數已棄用(PHP 7.0 移除),本文僅供舊版程式碼參考。新專案請使用 mysqli_fetch_object() 或 PDO::fetchObject()。
object mysql_fetch_object ( resource $result )
stdClass),屬性名對應欄位名。FALSE。<?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_row | 索引陣列 | $row[0], $row[1]... |
| mysql_fetch_assoc | 關聯陣列 | $row['ISBN'], $row['Title']... |
| mysql_fetch_object | 物件 (stdClass) | $obj->ISBN, $obj->Title... |
<?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 程式設計有所幫助。