Rumah > Artikel > pembangunan bahagian belakang > Amaran PHP: mysqli_query(): Penyelesaian kepada pertanyaan Kosong
Apabila membangunkan aplikasi web menggunakan PHP, anda sering menghadapi pelbagai masalah. Antaranya, beberapa masalah biasa adalah berkaitan dengan pangkalan data MySQL. Satu masalah ialah ralat "Amaran PHP: mysqli_query(): Empty query". Artikel ini menerangkan punca ralat ini dan cara membetulkannya.
Mula-mula, mari lihat maksud ralat ini. Apabila anda melaksanakan pertanyaan MySQL menggunakan fungsi mysqli_query, ralat ini berlaku jika pertanyaan kosong. Ini bermakna anda cuba melaksanakan pertanyaan MySQL, tetapi rentetan pertanyaan itu kosong. Contohnya, rentetan pertanyaan dalam kod berikut kosong:
$result = mysqli_query($conn, "");
Ralat ini akan berlaku apabila anda cuba melaksanakan pertanyaan ini. Ini boleh berlaku dalam pelbagai situasi. Berikut ialah beberapa sebab:
Jadi, bagaimana untuk menyelesaikan masalah ini? Berikut ialah beberapa penyelesaian yang mungkin:
Contohnya, rentetan pertanyaan berikut:
$sql = "SELECT * FROM myTable WHERE id = ";
Apabila pembolehubah $id tidak ditentukan, pertanyaan Rentetan itu kosong. Anda harus menambah nilai $id, atau menukar rentetan pertanyaan kepada:
$sql = "SELECT * FROM myTable";
Sebagai contoh, kod berikut menggunakan pembolehubah untuk membina rentetan pertanyaan:
$name = "Tom";
$sql = "SELECT * FROM myTable WHERE name = '$name '";
Anda boleh menggunakan fungsi mysqli_real_escape_string untuk melarikan diri dari pembolehubah:
$name = "Tom";
$name = mysqli_real_escape_string($conn, $name);
$ sql = "SELECT * FROM myTable WHERE name = '$name'";
Ini akan memastikan bahawa rentetan pertanyaan tidak kosong, walaupun $name mengandungi petikan tunggal atau berganda.
Ringkasan:
Apabila menggunakan fungsi mysqli_query untuk melaksanakan pertanyaan MySQL, jika rentetan pertanyaan kosong, ralat "Amaran PHP: mysqli_query(): Empty query" akan muncul. Ini mungkin disebabkan oleh ralat sintaks, pembolehubah tidak ditentukan, atau ralat sambungan MySQL, dsb. Untuk menyelesaikan isu ini, anda boleh menyemak ralat sintaks dalam rentetan pertanyaan, pastikan pelayan MySQL berjalan dan disambungkan dengan betul, gunakan fungsi mysqli_real_escape_string untuk melarikan diri pembolehubah untuk memastikan rentetan pertanyaan tidak kosong.
Atas ialah kandungan terperinci Amaran PHP: mysqli_query(): Penyelesaian kepada pertanyaan Kosong. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!