【发布时间】:2018-04-02 10:37:00
【问题描述】:
我有一个带有输入字段 (type="date") 的 HTML 表单和一个带有数据类型为 "date" 的列的 mysql DB,当我直接在 phpmyadmin 中进行查询时,它接受 null。
此外,当我在我的 html 表单中选择一个日期(使用浏览器默认日期选择器)时,查询会正确运行。但是当我将上述输入留空时,会显示以下错误“日期值不正确:'' for column 'received_date'。
感谢您帮助解决此问题。
这里是 sql 和 DB/Table 架构:
CREATE TABLE customer.tbl1 ( id INT NOT NULL AUTO_INCREMENT , usrname
VARCHAR(32) NOT NULL , received_date DATE NULL DEFAULT NULL , PRIMARY
KEY (id)) ENGINE = MyISAM;
$sql = "INSERT INTO tbl1 (usrname, received_date) VALUES ('$usrname',
'$received_date')";
【问题讨论】:
-
检查
if (empty($_post['date']))? NULL: $_POST['date']然后查询 -
您能否分享您正在使用的 SQL 查询以及该表中的架构?
-
在我的查询中,我使用了 INSERT INTO TBL1 (username, received_date) VALUES ('$usrname', '$received_date') 之类的变量...我认为我用单引号来包围变量导致问题。因为我用 NULL 替换了变量(不带引号)。有效。但是我不能在查询中永久使用 NULL,因为日期字段是可选的,可能会或可能不会选择日期。
-
有问题,您在谈论
SELECT,在这里您提供INSERT。非常混乱。请在您的问题中添加 HTML+CODE 以澄清您的问题。 -
选择我的意思是从浏览器默认的日期时间选择器中选择日期。因为在 HTML 表单中,输入类型是日期。