Mengapa saya mendapat ralat \'Fatal error: Call to a member function query() on null\'?

Mary-Kate Olsen
Lepaskan: 2024-10-28 12:32:02
asal
684 orang telah melayarinya

Why am I getting the error

"Ralat maut: Panggil ke pertanyaan fungsi ahli () pada null" Diterangkan

Ralat ini timbul apabila cuba mengakses pertanyaan( ) kaedah pembolehubah nol. Biasanya, ini berlaku apabila cuba melaksanakan pertanyaan pangkalan data tanpa mewujudkan sambungan pangkalan data atau apabila pembolehubah $db tidak dimulakan dengan betul.

Diagnosis:

Dalam kod yang diberikan, ralat nampaknya berasal dari baris 7:

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

Walau bagaimanapun, baris 3 kod memulakan pembolehubah $db:

<code class="php">$db = new mysqli('127.0.0.1', 'root', '', 'wisconsindairyfarmers');</code>
Salin selepas log masuk

Penyelesaian:

Untuk menyelesaikan isu ini, pastikan pembolehubah $db dimulakan dan sah sebelum menggunakannya dalam kaedah query(). Dalam kes ini, nampaknya pembolehubah $db ditakrifkan di luar fungsi user_exists(). Untuk mengaksesnya dalam fungsi, hantarkannya sebagai parameter:

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

Kemudian, panggil fungsi seperti ini:

<code class="php">user_exists($db, $username);</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapa saya mendapat ralat \'Fatal error: Call to a member function query() on null\'?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!