首頁 > 資料庫 > mysql教程 > 為什麼存取 MySQL 查詢結果時會出現「Trying to get property of non-object」?

為什麼存取 MySQL 查詢結果時會出現「Trying to get property of non-object」?

Barbara Streisand
發布: 2024-12-01 22:38:13
原創
994 人瀏覽過

Why Am I Getting

嘗試存取非物件的屬性:已解決

MySQL 查詢通常會傳回多行。要迭代這些行,我們可以使用帶有 mysql_fetch_object() 的循環來將每一行作為物件取得。但是,當我們嘗試存取不存在的物件的屬性時,會出現錯誤「嘗試取得非物件的屬性」。此錯誤表示查詢結果為空。

要解決此問題,我們可以檢查查詢結果是否存在。這是更正後的代碼:

控制頁面:

<?php
include 'pages/db.php';
$results = mysql_query("SELECT * FROM sidemenu WHERE `menu_id`='{$menu}' ORDER BY `id` ASC LIMIT 1", $con);

// Check if the query result exists
if ($results) {
  $sidemenus = mysql_fetch_object($results);
}
?>
登入後複製

查看頁面:

<?php
if ($sidemenus) {
  foreach ($sidemenus as $sidemenu):
?>
<?php echo $sidemenu->mname."<br />"; ?>
<?php
  endforeach;
}
?>
登入後複製

或者,您可以將PDO 與PDOStatement::fetchAll(PDO::FETCH_OBJ)一起使用自動從您的查詢中檢索物件數組。

以上是為什麼存取 MySQL 查詢結果時會出現「Trying to get property of non-object」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板