Rumah >pangkalan data >tutorial mysql >Mengapa Saya Mendapat 'Cuba untuk mendapatkan harta bukan objek' Apabila Mengakses Keputusan Pertanyaan MySQL?
Cuba Mengakses Sifat Bukan Objek: Diselesaikan
Pertanyaan MySQL selalunya mengembalikan berbilang baris. Untuk lelaran melalui baris ini, kita boleh menggunakan gelung dengan mysql_fetch_object() untuk mengambil setiap baris sebagai objek. Walau bagaimanapun, ralat "Mencuba mendapatkan harta bukan objek" berlaku apabila kami cuba mengakses sifat objek yang tidak wujud. Ralat ini menunjukkan bahawa hasil pertanyaan kosong.
Untuk menyelesaikan isu ini, kami boleh menyemak sama ada hasil pertanyaan itu wujud. Berikut ialah kod yang diperbetulkan:
Halaman Kawalan:
<?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); } ?>
Lihat Halaman:
<?php if ($sidemenus) { foreach ($sidemenus as $sidemenu): ?> <?php echo $sidemenu->mname."<br />"; ?> <?php endforeach; } ?>
Sebagai alternatif, anda boleh menggunakan PDO dengan PDOStatement::fetchAll(PDO::FETCH_OBJ) untuk mendapatkan semula secara automatik tatasusunan objek daripada pertanyaan anda.
Atas ialah kandungan terperinci Mengapa Saya Mendapat 'Cuba untuk mendapatkan harta bukan objek' Apabila Mengakses Keputusan Pertanyaan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!