Rumah  >  Artikel  >  pangkalan data  >  \"Ralat maut: Panggilan kepada pertanyaan fungsi ahli () pada null\": Mengapa objek $db saya batal dalam fungsi user_exists() saya?

\"Ralat maut: Panggilan kepada pertanyaan fungsi ahli () pada null\": Mengapa objek $db saya batal dalam fungsi user_exists() saya?

Patricia Arquette
Patricia Arquetteasal
2024-11-03 11:31:02803semak imbas

Menyelesaikan masalah "Ralat maut: Panggilan ke pertanyaan fungsi ahli () pada nol"

Apabila anda menghadapi "Panggil ke fungsi ahli query() on null", ia biasanya menunjukkan bahawa fungsi sedang cuba mengakses sifat atau kaedah objek yang null, bermakna ia belum dimulakan atau dicipta dengan betul.

Dalam coretan kod yang disediakan , anda telah menemui ralat ini dalam fungsi user_exists(). Untuk menangani isu ini, beri perhatian kepada penggunaan $db dalam fungsi.

  • Dalam pengisytiharan awal anda, $db ditakrifkan di luar fungsi. Walaupun ini membolehkan anda mengaksesnya secara global, ia menghalang anda daripada menggunakan $db dalam fungsi.
  • Untuk menyelesaikannya, isytiharkan $db sebagai parameter dalam definisi fungsi:

    <code class="php">function user_exists($db, $username) {
      // ...
    }</code>
  • Apabila memanggil fungsi, hantar sambungan $db sebagai parameter:

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

Pengubahsuaian ini memastikan fungsi tersebut boleh mengakses objek sambungan pangkalan data dan laksanakan pertanyaan dengan jayanya.

Atas ialah kandungan terperinci \"Ralat maut: Panggilan kepada pertanyaan fungsi ahli () pada null\": Mengapa objek $db saya batal dalam fungsi user_exists() saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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