首页 > 解决方案 > 如何使用 PHP 将 NULL 插入十进制类型列?

问题描述

我正在尝试插入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将其插入数据库。

我很确定,当“价格”输入字段为空时,$priceNULL因为我尝试过:

if ($price == NULL) {
  $price == 4;
}

并被4.00插入到数据库中。

我也试过:

$con->query("INSERT INTO items (item_name,price) VALUES ('$item_name',NULL)");

并被NULL插入到数据库中。

如何NULL插入pricewhen $priceis NULL

标签: phpsqlmysqli

解决方案


这是在价格列中插入 null 的方法。

$con->query("INSERT INTO items (item_name,price) VALUES ('$item_name',NULLIF('$price', ''))");

推荐阅读