Rumah > pangkalan data > tutorial mysql > Mengapa saya mendapat ralat \'Panggilan kepada pertanyaan fungsi ahli() pada Null\' dalam PHP?

Mengapa saya mendapat ralat \'Panggilan kepada pertanyaan fungsi ahli() pada Null\' dalam PHP?

Patricia Arquette
Lepaskan: 2024-10-29 05:16:31
asal
987 orang telah melayarinya

Why am I getting the

Menyelesaikan masalah "Panggil ke pertanyaan Fungsi Ahli () pada Null" Ralat

Dalam kod yang disediakan, ralat "Ralat maut: Panggilan kepada pertanyaan fungsi ahli () pada null" berlaku dalam baris 7 log masuk.php. Ralat ini menunjukkan bahawa pembolehubah $db, yang dijangkakan sebagai objek mysqli, adalah batal apabila cuba melaksanakan pertanyaan menggunakan kaedah query().

Resolusi:

Setelah memeriksa lebih dekat kod, kami mendapati bahawa permulaan pembolehubah $db diletakkan di luar fungsi user_exists(), di mana ia digunakan. Ini bermakna bahawa dalam fungsi, $db tidak ditakrifkan dan oleh itu adalah batal. Untuk menyelesaikan isu ini, kita perlu menghantar $db sebagai parameter kepada fungsi user_exists(). Berikut ialah kod yang diperbetulkan:

<code class="php">function user_exists($db, $username) {
    // ...
}</code>
Salin selepas log masuk

Dan dalam login.php, anda kini boleh memanggil fungsi seperti ini:

<code class="php">$result = $db->query("SELECT COUNT(UserId) FROM users WHERE UserName = '$username'");</code>
Salin selepas log masuk

Dengan menghantar $db sebagai parameter, kami memastikan bahawa fungsi mempunyai akses kepada objek mysqli dan boleh melaksanakan pertanyaan dengan jayanya.

Atas ialah kandungan terperinci Mengapa saya mendapat ralat \'Panggilan kepada pertanyaan fungsi ahli() pada Null\' dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan