Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mengekalkan Nilai NULL Benar dalam Penyata Disediakan MySQLi?

Bagaimana untuk Mengekalkan Nilai NULL Benar dalam Penyata Disediakan MySQLi?

DDD
DDDasal
2024-11-04 12:06:02469semak imbas

How to Preserve True NULL Values in MySQLi Prepared Statements?

Memanipulasi Nilai NULL dalam Penyata Disediakan MySQLi

Apabila menggunakan pernyataan yang disediakan MySQLi, pengendalian nilai NULL boleh menjadi agak rumit. Secara lalai, MySQLi menukar nilai NULL kepada rentetan kosong ('') untuk rentetan dan 0 untuk integer. Walau bagaimanapun, terdapat senario di mana anda mungkin mahu mengekalkan nilai NULL sebenar.

Memelihara Nilai NULL Sebenar

Untuk menyimpan nilai NULL sebenar dalam pernyataan yang disediakan MySQLi, anda boleh menggunakan MySQL NULL Safe Operator (<>=). Operator ini membenarkan anda membandingkan nilai NULL dengan betul.

Contoh:

<code class="php">$price = NULL;
$stmt = $mysqli->prepare("SELECT id FROM product WHERE price <> ?");
$stmt->bind_param('s', $price); // Bind the price as a string</code>

Dalam contoh ini, stmt akan memilih baris daripada jadual 'produk' di mana lajur 'harga' ialah NULL. Yang <> operator digunakan untuk menyemak nilai NULL dan bukan NULL, membolehkan anda mengendalikan perbandingan NULL dengan tepat.

Nota Tambahan:

  • Apabila menggunakan NULL pengendali selamat, anda mesti menggunakan format pengikatan yang betul berdasarkan jenis data lajur. Contohnya, ikat integer NULL sebagai jenis integer dan bukannya jenis rentetan.
  • Berhati-hati apabila menggunakan pengendali selamat NULL dengan nilai selain NULL. Ia boleh menghasilkan hasil yang tidak dijangka jika digunakan dengan nilai bukan NULL.

Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Nilai NULL Benar dalam Penyata Disediakan MySQLi?. 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