Mesej ralat "Objek kelas mysqli_result tidak dapat ditukar kepada rentetan" timbul apabila cuba untuk merawat objek mysqli_result sebagai rentetan. Ini biasanya berlaku apabila skrip PHP gagal mengendalikan dengan betul hasil yang diperoleh daripada pertanyaan MySQL menggunakan kaedah mysqli_query().
Untuk menangani ralat ini, adalah penting untuk memahami sifat objek mysqli_result. Kaedah mysqli_query() tidak mengembalikan rentetan melainkan objek yang mengandungi baris yang dikembalikan oleh pertanyaan. Oleh itu, percubaan untuk menggunakan objek ini secara langsung sebagai rentetan, seperti dalam kod contoh, akan mencetuskan ralat yang disebutkan di atas.
Pendekatan yang betul melibatkan lelaran melalui objek hasil untuk mendapatkan semula baris individu dan nilai sepadannya. Ini boleh dicapai menggunakan kaedah fetch_assoc() atau fetch_array() untuk mengakses baris dalam objek hasil sebagai tatasusunan bersekutu atau diindeks, masing-masing.
Coretan kod yang disediakan dalam penyelesaian menunjukkan cara untuk lelaran dengan betul melalui objek hasil dan paparkan nilai 'classtype' untuk setiap baris menggunakan fetch_assoc() kaedah:
$result = mysqli_query($con, "SELECT classtype FROM learn_users WHERE username='abcde'"); while ($row = $result->fetch_assoc()) { echo $row['classtype'] . "<br>"; }
Dengan menggunakan pendekatan ini, skrip berjaya memproses hasil pertanyaan dan mengeluarkan nilai 'classtype' untuk nama pengguna yang ditentukan tanpa menemui ralat "Objek kelas mysqli_result tidak boleh ditukar kepada rentetan" .
Atas ialah kandungan terperinci Mengapa Kod PHP Saya Membuang 'Objek kelas mysqli_result tidak boleh ditukar kepada rentetan'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!