使用准备好的语句在 PHP/MySQL 中插入 NULL 值
您的问题是由于尝试使用 mysql_query 将 NULL 值插入 MySQL 数据库而产生的功能。要成功插入 NULL 值,您需要在 INSERT 语句中显式指定它们或省略该字段。
但是,这种方法需要额外的分支来处理 NULL 和非 NULL 值。更优雅的解决方案是使用 prepared statements 和 mysqli 扩展。
Prepared statements 自动区分 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>
通过使用准备好的语句,您可以轻松插入 NULL 值,而无需任何分支或附加代码。此外,准备好的语句可以防止 SQL 注入攻击并提高性能。强烈建议使用 mysqli 及其准备好的语句,以提高安全性、性能和易于开发性。
以上是如何在 PHP 中使用准备好的语句正确地将 NULL 值插入 MySQL?的详细内容。更多信息请关注PHP中文网其他相关文章!