php - 如何使用 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
将其插入数据库。
我很确定,当“价格”输入字段为空时,$price
是NULL
因为我尝试过:
if ($price == NULL) {
$price == 4;
}
并被4.00
插入到数据库中。
我也试过:
$con->query("INSERT INTO items (item_name,price) VALUES ('$item_name',NULL)");
并被NULL
插入到数据库中。
如何NULL
插入price
when $price
is NULL
?
解决方案
这是在价格列中插入 null 的方法。
$con->query("INSERT INTO items (item_name,price) VALUES ('$item_name',NULLIF('$price', ''))");
推荐阅读
- javascript - 连接 React Dropzone Uploader 和 Flask
- python-3.x - 如何使用 matplotlib 绘制日期时间?
- c# - 区域周围经过的记录时间(统一)
- angular - Angular 9.0 ngserve 在 vendor.js 文件中抛出“无效令牌”错误
- javascript - 如何获取变量并将其用作反应中的道具?
- java - 对 Blob 存储的 Azure 标识访问
- oracle - 在 SQL*Plus 中创建表时遇到问题
- javascript - 带有 Firebase 数据的 Angular 应用程序:为什么我会看到上一页的数据?
- python - 将文件上传到谷歌翻译器进行翻译
- javascript - Icecast 用户认证和网络音频 API