我有这个PHP的声明,如果正在“精”:插入PHP NULL变量值到MSSQL查询
sqlsrv_query($connect,"UPDATE goals SET review_date='$review_date' WHERE id='$department'") or die(sqlsrv_errors());
:
if(EMPTY($_POST['review_date'])){
$review_date = NULL;
}
else {
$review_date = $_POST['review_date'];
}
的问题时,我传递变量的sqlsrv_query开始
在IF语句为TRUE的情况下,review_date单元格中的值显示为1900-01-01,而不是NULL。
如果我试图把周围IF语句中的NULL值的报价,我得到以下错误:
Notice: Array to string conversion in C:\xampp\htdocs\project\edit.php on line 30
如果NULL被直接插入查询,它执行,因为它应该。
目标表中的列属性具有启用允许空值且默认值设置为(NULL)。
通过其他问题转移,但没有真正得到任何地方。
我在这里做错了什么?
更新1:
按照要求,这里是HTML代码:
<form method="POST" action="edit.php">
Review date <i>(optional)</i>: <input type="date" name="review_date" value="" placeholder="dd/mm/yyyy" >
<p><button type="submit">Save</button></p>
</form>
至于var_dumps:
var_dump($review_date);
返回: NULL
var_dump($department);
返回:字符串(2) “36”
var_dump(sqlsrv_query($connect,"UPDATE goals SET review_date='$review_date' WHERE id='$department'"));
返回:资源(7)的类型(SQL Server语句)
已有一个类似的线程与此答案的答案:http://stackoverflow.com/questions/17784390/mysql-how-to-insert-null-dates –
可能重复的[MySQL,如何插入空日期](http://stackoverflow.com/questions/17784390/mysql-how-to-insert-null-dates) –
该列是否有默认值,如当前日期,或可以接受NULL值?检查是否有触发事件。 –