Rumah > Artikel > pangkalan data > Mengapa Membandingkan Nilai Pangkalan Data dengan \"NULL\" dalam PHP Tidak Berfungsi Seperti Yang Dijangkakan?
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!