Bagaimana untuk Membetulkan Ralat 'Mencuba Mendapatkan Harta Bukan Objek' dalam PHP?

DDD
Lepaskan: 2024-11-08 15:44:02
asal
900 orang telah melayarinya

How to Fix the

Menyelesaikan Ralat "Mencuba Mendapatkan Harta Bukan Objek" dalam PHP

Apabila bekerja dengan PHP, anda mungkin menghadapi ralat "Mencuba untuk mendapatkan harta bukan benda." Ralat ini biasanya berlaku apabila cuba mengakses sifat objek yang belum dimulakan dengan betul atau batal.

Dalam kes kod yang diberikan, isunya terletak pada pengambilan data menu sisi daripada pangkalan data. Fungsi mysql_fetch_object() mengembalikan satu objek, bukan tatasusunan objek. Akibatnya, lelaran melalui pembolehubah $sidemenus dalam halaman paparan akan mencetuskan ralat.

Untuk menyelesaikan isu ini, ubah suai kod pada halaman kawalan kepada:

$results = mysql_query("SELECT * FROM sidemenu WHERE `menu_id`='".$menu."' ORDER BY `id` ASC LIMIT 1", $con);

$sidemenus = array();
while ($sidemenu = mysql_fetch_object($results)) {
    $sidemenus[] = $sidemenu;
}
Salin selepas log masuk

Kod ini menukar objek tunggal yang dikembalikan oleh mysql_fetch_object() ke dalam tatasusunan objek. Halaman paparan kemudiannya boleh berulang melalui tatasusunan tanpa menghadapi ralat sifat.

Alternatif lain ialah menggunakan PDO, yang menyediakan antara muka yang lebih moden dan selamat untuk interaksi pangkalan data. Kaedah PDOStatement::fetchAll(PDO::FETCH_OBJ) boleh digunakan untuk mengambil tatasusunan objek daripada pertanyaan pangkalan data.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Mencuba Mendapatkan Harta Bukan Objek' dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan