【发布时间】:2019-08-06 00:49:10
【问题描述】:
我正在尝试将NULL 插入到名为price 的列中,该列的类型为Decimal。
该列可以为空,默认为NULL。我想插入NULL,只有在 HTML 表单的“价格”输入中没有输入任何内容时。这是我的 PHP 代码:
$item_name = $con->real_escape_string($_POST['item_name']);
$price = $con->real_escape_string($_POST['price']);
$con->query("INSERT INTO items (item_name,price) VALUES ('$item_name','$price')");
使用上面的代码,当我将“价格”输入留空时,0.00 被插入到数据库中。
我很确定,当“价格”输入字段为空时,$price 是 NULL,因为我尝试过:
if ($price == NULL) {
$price == 4;
}
并且4.00 被插入到数据库中。
我也试过了:
$con->query("INSERT INTO items (item_name,price) VALUES ('$item_name',NULL)");
并且NULL 被插入到数据库中。
当$price 是NULL 时,如何将NULL 插入price?
【问题讨论】:
-
@EdBanga 谢谢。我查看了这个问题的答案,但我尝试声明
$price = NULL和0.00仍插入到数据库中。 -
使用 ('$item_name',NULLIF('$price', ''))");
-
@EdBangga 非常感谢。这适用于删除一个“)”。如果您将此作为答案发布,我将很乐意接受它作为解决方案。再次感谢。