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

Barbara Streisand
Lepaskan: 2024-11-03 17:55:29
asal
279 orang telah melayarinya

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:

<=>
Salin selepas log masuk

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);
Salin selepas log masuk

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();
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan