使用 PHP 將資料插入 MySQL 資料庫時,嘗試插入空值時可能會遇到問題。預設情況下,如果陣列中的值包含 null,PHP 將為數字欄位插入空字串或零,而不是 null。
在此範例中:
<code class="php">$results = mysql_query("select * from mytable"); while ($row = mysql_fetch_assoc($results)) { mysql_query("insert into table2 (f1, f2) values ('{$row['string_field']}', {$row['null_field']}); }</code>
如果 $row[' null_field'] 包含 null,它將插入為 0。要解決此問題,您可以使用準備好的語句。
準備好的語句可讓您在查詢中明確指定 null 值。它們還自動處理轉義和綁定,從而降低注入漏洞的風險。
以下是如何在 MySQLi 中使用準備好的語句:
<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>
在此範例:
如果 $field2 為 null,則會將其作為 null 插入資料庫中。此方法正確處理空值,確保它們不會被視為空字串或零值。
以上是如何使用 PHP 將空值插入 MySQL 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!