Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah Saya Boleh Menyimpan Nilai NULL Benar dalam Penyata Disediakan MySQLi?

Bagaimanakah Saya Boleh Menyimpan Nilai NULL Benar dalam Penyata Disediakan MySQLi?

Barbara Streisand
Barbara Streisandasal
2024-11-03 17:55:29281semak imbas

How Can I Store True NULL Values in MySQLi Prepared Statements?

Menyimpan Nilai NULL Benar dalam Penyata Disediakan MySQLi

Dalam pernyataan yang disediakan dalam MySQLi, tingkah laku lalai untuk nilai NULL adalah untuk menukarnya kepada rentetan kosong ('') dalam kes rentetan atau 0 dalam kes integer. Walau bagaimanapun, jika anda memilih untuk mengekalkan nilai NULL, terdapat pendekatan khusus yang boleh anda ambil.

Menggunakan Pengendali Selamat NULL MySQL

Untuk menyimpan NULL sebenar dalam pernyataan MySQLi yang disediakan, anda mesti menggunakan pengendali selamat MySQL NULL:

<=>

Operator ini memastikan bahawa lajur dibandingkan untuk kesamaan atau bukan kesamaan kepada NULL. Contohnya:

$price = NULL; // Note: Using php NULL without quotes
$stmt = $mysqli->prepare("SELECT id FROM product WHERE price &lt;=&gt; ?"); // Selects products with NULL prices
$stmt->bind_param($price);

Dalam contoh ini, pertanyaan akan mendapatkan semula produk dengan lajur harga adalah NULL. Tanpa pengendali selamat NULL, pertanyaan tidak akan mengembalikan hasil, kerana NULL tidak sama dengan rentetan kosong atau 0.

Contoh

Kod PHP berikut menunjukkan cara menggunakan pengendali selamat NULL dalam pernyataan yang disediakan:

$firstName = NULL;
$lastName = "Doe";

$stmt = $mysqli->prepare("UPDATE users SET first_name &lt;=&gt; ?, last_name = ?");
$stmt->bind_param("ss", $firstName, $lastName);
$stmt->execute();

Pertanyaan ini akan mengemas kini pengguna dengan nama akhir yang ditentukan dan mengekalkan nilai NULL untuk nama pertama.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan 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