PHP/MySQL 插入空值
當對應的陣列值也為空時,使用者在將空值插入資料庫時常會遇到困難。儘管該欄位允許空值,但還是會發生這種情況。要解決這個問題,了解 MySQL 中插入空值的過程至關重要。
在 MySQL 中,必須在插入時明確指定空值,否則必須省略該欄位。使用 mysql 擴充時,這往往會導致需要額外的分支。
<code class="php">INSERT INTO table2 (f1, f2) VALUES ('String Value', NULL);</code>
但是,對於非空值,必須加上單引號:
<code class="php">INSERT INTO table2 (f1, f2) VALUES ('String Value', 'String Value');</code>
這個分支可以透過使用 mysqli 擴充提供的準備好的語句來避免。這些語句會自動處理空字串 (string(0) "") 和 null 值之間的區別,確保正確執行查詢。
<code class="php">$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)"); $stmt->bind_param('ss', $field1, $field2); $field1 = "String Value"; $field2 = null; $stmt->execute(); // ...</code>
Prepared 語句比傳統 mysql 擴充有多個優點。它們防止 SQL 注入攻擊、自動轉義欄位並確保所有參數均已綁定。透過在 PHP/MySQL 開發中利用準備好的語句,開發人員可以避免與空值處理相關的複雜性,並提高應用程式的安全性和效率。
以上是如何使用 PHP 將空值插入 MySQL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!