Rumah >pembangunan bahagian belakang >tutorial php >Mengapa saya mendapat ralat 'Cuba mengakses tatasusunan mengimbangi nilai jenis null' dalam PHP?
Mencuba Mengakses Array Offset pada Nilai Jenis Ralat Null dalam PHP: Menangani Isu
The "Cuba untuk mengakses array offset on value of type null" ralat dalam PHP timbul apabila percubaan dibuat untuk mengakses elemen tatasusunan yang tidak wujud. Ralat ini biasanya berlaku apabila pertanyaan pangkalan data menghasilkan tatasusunan kosong atau nilai nol.
Memahami Ralat
Dalam PHP, fungsi pengambilan pangkalan data mengembalikan sama ada nol atau tatasusunan kosong apabila tiada rekod yang sepadan atau apabila set keputusan telah habis. Oleh itu, adalah penting untuk menyemak kewujudan data sebelum mengakses elemen tatasusunan.
Menyelesaikan Isu
Untuk menyelesaikan ralat ini, gunakan salah satu teknik berikut:
1. Menyemak Kewujudan Data Secara Eksplisit:
$monday_lectures = "SELECT * from lectures where lecture_time = '11am to 1pm' and lecture_day = 'firday'"; $result_11to1 = mysqli_query($con, $monday_lectures); $m11to1 = mysqli_fetch_array($result_11to1); if ($m11to1 && $m11to1["lecture_day"] !== '') { echo "<td>".$m11to1["lecture_name"]."</td>"; } else { echo "<td> no class</td>"; }
2. Menggunakan Null Coalescing Operator:
$monday_lectures = "SELECT * from lectures where lecture_time = '11am to 1pm' and lecture_day = 'firday'"; $result_11to1 = mysqli_query($con, $monday_lectures); $m11to1 = mysqli_fetch_array($result_11to1); $lecture = $m11to1["lecture_day"] ?? null;
Pendekatan ini membolehkan anda menentukan nilai lalai untuk elemen tatasusunan jika ia tidak wujud.
Atas ialah kandungan terperinci Mengapa saya mendapat ralat 'Cuba mengakses tatasusunan mengimbangi nilai jenis null' dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!