Rumah pembangunan bahagian belakang tutorial php Amaran PHP: mysqli_query(): Penyelesaian kepada pertanyaan Kosong

Amaran PHP: mysqli_query(): Penyelesaian kepada pertanyaan Kosong

Jun 22, 2023 pm 04:45 PM
php Penyelesaian mysqli_query

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:

  1. Ralat sintaks: Ralat sintaks dalam rentetan pertanyaan boleh menyebabkannya kosong. Sebagai contoh, jika anda secara tidak sengaja meninggalkan kurungan atau tanda petikan, ini boleh menyebabkan rentetan pertanyaan menjadi kosong.
  2. Pembolehubah tidak ditakrifkan: Jika anda menggunakan pembolehubah PHP dalam rentetan pertanyaan dan pembolehubah ini tidak ditakrifkan sebelum pertanyaan, ini boleh menyebabkan rentetan pertanyaan menjadi kosong.
  3. Ralat sambungan pangkalan data: Jika terdapat pepijat dalam kod anda dan ia gagal menyambung ke pangkalan data MySQL dengan betul, pertanyaan mungkin kosong.

Jadi, bagaimana untuk menyelesaikan masalah ini? Berikut ialah beberapa penyelesaian yang mungkin:

  1. Cari ralat sintaks dalam rentetan pertanyaan: Anda harus mencetak rentetan pertanyaan dengan pernyataan gema supaya anda boleh menyemaknya untuk ralat sintaks. Apabila mencari ralat sintaks, semak kurungan, tanda petikan dan koma dengan teliti.

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";

  1. Semak sama ada sambungan MySQL OK: Jika anda tidak dapat disambungkan dengan betul ke pangkalan data MySQL, pertanyaan mungkin kosong. Anda boleh memastikan bahawa pelayan MySQL sedang berjalan dan nama pengguna dan kata laluan adalah betul, dan anda juga boleh cuba menukar nombor port pelayan MySQL.
  2. Gunakan fungsi mysqli_real_escape_string untuk melarikan diri dari rentetan pertanyaan: Jika anda membina rentetan pertanyaan dan menggunakan pembolehubah, adalah disyorkan untuk menggunakan fungsi mysqli_real_escape_string untuk melarikan diri dari pembolehubah ini. Ini akan memastikan bahawa rentetan pertanyaan anda tidak mengandungi aksara yang salah, sekali gus menghalang rentetan pertanyaan daripada kosong.

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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menyelesaikan MySQL tidak dapat menyambung ke tuan rumah tempatan Cara menyelesaikan MySQL tidak dapat menyambung ke tuan rumah tempatan Apr 08, 2025 pm 02:24 PM

Sambungan MySQL mungkin disebabkan oleh sebab -sebab berikut: Perkhidmatan MySQL tidak dimulakan, firewall memintas sambungan, nombor port tidak betul, nama pengguna atau kata laluan tidak betul, alamat pendengaran di my.cnf dikonfigurasi dengan tidak wajar, dan lain -lain. Langkah -langkah penyelesaian masalah termasuk: 1. 2. Laraskan tetapan firewall untuk membolehkan MySQL mendengar port 3306; 3. Sahkan bahawa nombor port adalah konsisten dengan nombor port sebenar; 4. Periksa sama ada nama pengguna dan kata laluan betul; 5. Pastikan tetapan alamat mengikat di my.cnf betul.

Penyelesaian Navicat ke pangkalan data tidak dapat disambungkan Penyelesaian Navicat ke pangkalan data tidak dapat disambungkan Apr 08, 2025 pm 11:12 PM

Langkah -langkah berikut boleh digunakan untuk menyelesaikan masalah yang tidak dapat disambungkan oleh Navicat ke pangkalan data: periksa sambungan pelayan, pastikan pelayan berjalan, alamat dan port dengan betul, dan firewall membolehkan sambungan. Sahkan maklumat log masuk dan sahkan bahawa nama pengguna, kata laluan dan kebenaran adalah betul. Semak sambungan rangkaian dan menyelesaikan masalah rangkaian seperti kegagalan penghala atau firewall. Lumpuhkan sambungan SSL, yang mungkin tidak disokong oleh beberapa pelayan. Semak versi pangkalan data untuk memastikan versi Navicat serasi dengan pangkalan data sasaran. Laraskan tamat masa sambungan, dan untuk sambungan jauh atau lebih perlahan, tingkatkan waktu tamat masa sambungan. Penyelesaian lain, jika langkah -langkah di atas tidak berfungsi, anda boleh cuba memulakan semula perisian, menggunakan pemacu sambungan yang berbeza, atau merujuk kepada pentadbir pangkalan data atau sokongan navicat rasmi.

Masa Depan PHP: Adaptasi dan Inovasi Masa Depan PHP: Adaptasi dan Inovasi Apr 11, 2025 am 12:01 AM

Masa depan PHP akan dicapai dengan menyesuaikan diri dengan trend teknologi baru dan memperkenalkan ciri -ciri inovatif: 1) menyesuaikan diri dengan pengkomputeran awan, kontena dan seni bina microservice, menyokong Docker dan Kubernetes; 2) memperkenalkan pengkompil JIT dan jenis penghitungan untuk meningkatkan prestasi dan kecekapan pemprosesan data; 3) Berterusan mengoptimumkan prestasi dan mempromosikan amalan terbaik.

Tidak dapat log masuk ke mysql sebagai akar Tidak dapat log masuk ke mysql sebagai akar Apr 08, 2025 pm 04:54 PM

Sebab utama mengapa anda tidak boleh log masuk ke MySQL sebagai akar adalah masalah kebenaran, ralat fail konfigurasi, kata laluan tidak konsisten, masalah fail soket, atau pemintasan firewall. Penyelesaiannya termasuk: periksa sama ada parameter pengikat di dalam fail konfigurasi dikonfigurasi dengan betul. Semak sama ada kebenaran pengguna root telah diubahsuai atau dipadam dan ditetapkan semula. Sahkan bahawa kata laluan adalah tepat, termasuk kes dan aksara khas. Semak tetapan dan laluan kebenaran fail soket. Semak bahawa firewall menyekat sambungan ke pelayan MySQL.

PHP vs Python: Memahami Perbezaan PHP vs Python: Memahami Perbezaan Apr 11, 2025 am 12:15 AM

PHP dan Python masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1.Php sesuai untuk pembangunan web, dengan sintaks mudah dan kecekapan pelaksanaan yang tinggi. 2. Python sesuai untuk sains data dan pembelajaran mesin, dengan sintaks ringkas dan perpustakaan yang kaya.

Cara menyelesaikan MySQL tidak dapat dimulakan Cara menyelesaikan MySQL tidak dapat dimulakan Apr 08, 2025 pm 02:21 PM

Terdapat banyak sebab mengapa permulaan MySQL gagal, dan ia boleh didiagnosis dengan memeriksa log ralat. Penyebab umum termasuk konflik pelabuhan (periksa penghunian pelabuhan dan ubah suai konfigurasi), isu kebenaran (periksa keizinan pengguna yang menjalankan perkhidmatan), ralat fail konfigurasi (periksa tetapan parameter), rasuah direktori data (memulihkan data atau membina semula ruang meja), isu ruang jadual InnoDB (semak fail ibdata1) Apabila menyelesaikan masalah, anda harus menganalisisnya berdasarkan log ralat, cari punca utama masalah, dan mengembangkan tabiat sandaran data secara teratur untuk mencegah dan menyelesaikan masalah.

PHP dan Python: Membandingkan dua bahasa pengaturcaraan yang popular PHP dan Python: Membandingkan dua bahasa pengaturcaraan yang popular Apr 14, 2025 am 12:13 AM

PHP dan Python masing -masing mempunyai kelebihan mereka sendiri, dan memilih mengikut keperluan projek. 1.PHP sesuai untuk pembangunan web, terutamanya untuk pembangunan pesat dan penyelenggaraan laman web. 2. Python sesuai untuk sains data, pembelajaran mesin dan kecerdasan buatan, dengan sintaks ringkas dan sesuai untuk pemula.

Status Semasa PHP: Lihat trend pembangunan web Status Semasa PHP: Lihat trend pembangunan web Apr 13, 2025 am 12:20 AM

PHP tetap penting dalam pembangunan web moden, terutamanya dalam pengurusan kandungan dan platform e-dagang. 1) PHP mempunyai ekosistem yang kaya dan sokongan rangka kerja yang kuat, seperti Laravel dan Symfony. 2) Pengoptimuman prestasi boleh dicapai melalui OPCACHE dan NGINX. 3) Php8.0 memperkenalkan pengkompil JIT untuk meningkatkan prestasi. 4) Aplikasi awan asli dikerahkan melalui Docker dan Kubernet untuk meningkatkan fleksibiliti dan skalabiliti.

See all articles