我正在使用 jQuery 的 Datepicker。页面提交时,如果没有输入值,我需要插入NULL
到SQL表中。相反,它当前正在插入1900-01-01 00:00:00.000
. NULL
是否可以使用 jQuery 的 Datepicker传入我的插入?
在多年前创建的 SQL 表中,Data Type 为datetime
,Allow Nulls 设置为 Yes。默认值或绑定中未设置任何内容。
另外,请注意,我正在进行错误检查并考虑到 SQL 注入的可能性。只是为了尝试防止此处出现集群并保持代码简单/易于阅读,我没有将其包含在此处。
PHP
$sDate = $_POST['sDatepicker'];
$eDate = (!empty($_POST['eDatepicker'])) ? $_POST['eDatepicker'] : NULL;
$insert = "INSERT INTO table1 (sdate, edate)
VALUES ('$sDate', '$eDate')";
// Connection, error checking, execution, etc. using ODBC
我也试过:
if (empty($_POST['eDatepicker'])) {
$insert = "INSERT INTO table1 (sdate, edate)
VALUES ('$sDate', NULL)";
} else {
$eDate = $_POST['eDatepicker'];
$insert = "INSERT INTO table1 (sdate, edate)
VALUES ('$sDate', '$eDate')";
}
// Connection, execution, etc.
我还尝试添加一个隐藏字段并使用它,如果(empty($_POST['eDatepicker']))
是这样的话,如果它是空的,甚至不使用日期选择器。即使我这样做,它仍然会插入相同的1900-01-01 00:00:00.000
.
HTML/jQuery
<div>
<label>Start Date:</label>
<input type="text" id="sDatepicker" name="sDatepicker" class="required" />
</div>
<div>
<label>End Date:</label>
<input type="text" id="eDatepicker" name="eDatepicker" />
<input type="submit" value="Submit" id="btnSubmit" />
</div>
$('#sDatepicker, #eDatepicker').datepicker({
changeMonth: true,
changeYear: true,
dateFormat: "mm/dd/yyyy"
});
我还尝试在 jQuery 中拆分日期选择器并添加defaultDate: null
,但这也不起作用。