3 回答
TA贡献1772条经验 获得超8个赞
您可以通过对代码进行一些细微更改来解决此问题(注意单引号和双引号):
if($_POST['value']=='0000-00-00 00:00:00'){
$timestamp="NULL";
}else {
$dateTime = $_POST['value'];
$timestamp = "'".date('Y-m-d H:i', strtotime($_POST['value']))."'";
}
$query="update forms set $_POST[limitInputField]=$timestamp where formid='$_POST[formId]'";
这样,如果您在时间戳中设置 NULL 值,则查询将如下所示:
update forms set limitInputField=NULL where formid='123'
但是如果你在那里放一个值,它看起来像这样:
update forms set limitInputField='2019-09-03 17:08' where formid='123'
重要的是要注意在设置值时 NULL 周围没有引号,但在日期周围有引号。
TA贡献1829条经验 获得超7个赞
$date = $_POST['Date']; //get date from form
$time = $_POST['Time']; //get time from form
if(strtotime($date.$time)==0){ // check if null or not
$AboutDate = "0000-00-00 00:00:00";
}else{
$AboutDate = date("Y-m-d H:i", strtotime($date.$time));
}
然后更新/插入 SQL
UPDATE xxx(table) SET xxx(column) = NULLIF('$AboutDate','0000-00-00 00:00:00') WHERE xxxx = xxxxx
我们走吧宝贝
- 3 回答
- 0 关注
- 289 浏览
添加回答
举报