首頁  >  文章  >  資料庫  >  如何在 MySQLi 準備好的語句中儲存 True NULL 值?

如何在 MySQLi 準備好的語句中儲存 True NULL 值?

Barbara Streisand
Barbara Streisand原創
2024-11-03 17:55:29282瀏覽

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

在MySQLi 準備語句中儲存True NULL 值

在MySQLi 中的準備語句中,NULL 值的預設行為是將其轉換如果是字串,則為空字串('');如果是整數,則為0。但是,如果您希望保留 NULL 值,可以採取特定的方法。

使用MySQL NULL 安全運算子

將真正的NULL 儲存在MySQLi 準備好的語句中,您必須使用MySQL NULL 安全運算子:

<=>

此運算子確保將列與NULL 進行相等或不相等比較。例如:

$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);

在此範例中,查詢將檢索價格列為 NULL 的產品。如果沒有 NULL 安全運算符,查詢將不會傳回任何結果,因為 NULL 不等於空字串或 0。

範例

以下PHP 程式碼示範如何在準備好的語句中使用NULL 安全運算子:

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

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

此查詢將使用指定的姓氏更新使用者並保留名字的NULL 值。

以上是如何在 MySQLi 準備好的語句中儲存 True NULL 值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn