Rumah  >  Artikel  >  pangkalan data  >  Mengapa Membandingkan Nilai Pangkalan Data dengan \"NULL\" dalam PHP Tidak Berfungsi Seperti Yang Dijangkakan?

Mengapa Membandingkan Nilai Pangkalan Data dengan \"NULL\" dalam PHP Tidak Berfungsi Seperti Yang Dijangkakan?

Patricia Arquette
Patricia Arquetteasal
2024-10-30 08:47:27830semak imbas

Why Does Comparing a Database Value to

Cara Menyemak Nilai NULL dengan betul dalam PHP

Apabila bekerja dengan hasil pangkalan data, adalah penting untuk menyemak nilai NULL dengan tepat untuk mengelakkan perkara yang tidak diingini hasil. Satu senario biasa di mana perkara ini timbul ialah apabila memaparkan elemen HTML berdasarkan kehadiran atau ketiadaan nilai NULL.

Pertimbangkan kod PHP berikut:

<code class="php">$query = mysql_query("SELECT * FROM tablex");

if ($result = mysql_fetch_array($query)){

    if ($result['column'] == NULL) { print "<input type='checkbox' />"; }
    else { print "<input type='checkbox' checked />"; }
}</code>

Dalam contoh ini, kod cuba untuk paparkan kotak semak yang ditandai jika medan 'lajur' dalam baris pertanyaan bukan NULL. Walau bagaimanapun, walaupun medan 'lajur' bukan NULL, kotak semak yang dipaparkan tetap tidak ditanda. Tingkah laku ini mungkin kelihatan tidak dijangka.

Untuk menyelesaikan isu ini, kita perlu menggunakan operator yang secara eksplisit menyemak nilai NULL. Operator == menyemak kesaksamaan yang ketat, bermakna jenis dan nilai mesti sepadan. Walau bagaimanapun, dalam kes ini, nilai sedang diperiksa terhadap rentetan literal 'NULL', yang akan sentiasa menghasilkan perbandingan palsu.

Untuk menyemak nilai NULL dengan betul, anda boleh menggunakan salah satu kaedah berikut:

1. is_null() Fungsi:

<code class="php">is_null($result['column'])</code>

2. === Operator:

<code class="php">$result['column'] === NULL</code>

Kedua-dua kaedah ini akan menyemak nilai NULL dengan tepat dan membolehkan anda memaparkan kotak semak yang ditandakan seperti yang dimaksudkan apabila medan itu bukan NULL.

Ingat, apabila menyemak nilai NULL, adalah penting untuk menggunakan operator yang menguji keadaan ini secara khusus, seperti is_null() atau ===, untuk mengelakkan salah tafsir.

Atas ialah kandungan terperinci Mengapa Membandingkan Nilai Pangkalan Data dengan \"NULL\" dalam PHP Tidak Berfungsi Seperti Yang Dijangkakan?. 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