Penggunaan Ralat Malar Tidak Ditakrifkan dalam PHP: Punca dan Penyelesaian
Apabila bekerja dengan PHP, anda mungkin menghadapi mesej ralat "Notis: Gunakan pemalar yang tidak ditentukan." Ralat ini menandakan bahawa PHP tidak dapat mencari pemalar tertentu semasa pelaksanaan.
Dalam contoh khusus yang disediakan, mesej ralat dijana disebabkan oleh penggunaan kekunci tatasusunan yang tidak disebut dalam tatasusunan $_POST:
$department = mysql_real_escape_string($_POST[department]); $name = mysql_real_escape_string($_POST[name]);
Menurut sintaks PHP, literal rentetan mesti disertakan dalam petikan. Oleh itu, kod yang betul hendaklah:
$department = mysql_real_escape_string($_POST['department']); $name = mysql_real_escape_string($_POST['name']);
Dengan memetik kekunci tatasusunan, anda mentakrifkannya secara eksplisit sebagai rentetan dan bukannya pemalar. PHP tidak lagi akan cuba mentafsirnya sedemikian, sekali gus menghapuskan ralat.
Adalah penting untuk ambil perhatian bahawa isu ini telah ditangani dalam PHP 8. Dalam PHP 8 dan ke atas, menggunakan pemalar yang tidak ditentukan menghasilkan ralat sebaliknya daripada notis. Pengendalian ralat yang dipertingkatkan ini memudahkan untuk mengenal pasti dan menyelesaikan isu sedemikian dalam pangkalan kod anda.
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Penggunaan Pemalar Tidak Ditakrifkan' dalam PHP dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!