尝试保存日期时,PHP语法错误(缺少运算符)

时间:2014-01-08 01:51:06

标签: php sql database type-conversion

date_default_timezone_set('America/Los_Angeles');
$date = date('m/d/Y h:i:s a', time());


$sql = "INSERT INTO BidList (BidID,JobNumber,Created,Final) 
            VALUES ('$bidid','$jobnumber',$date,'No')";

如果我执行'$ date'而不是$ date,我会收到数据类型不匹配错误,因为'Created'在我的数据库中的类型为'Date / Time'。将日期保存到Microsoft Access数据库的正确方法是什么?我需要在我的数据库中将字段类型设置为“日期”,因此我不能简单地将其切换为文本。

2 个答案:

答案 0 :(得分:1)

您需要在日期前加上引号。您遇到类型不匹配的原因是因为日期必须采用Year-month-day格式,时间必须为Hours:minutes:seconds。因此,您需要将数据类型更改为DATETIME或将其存储为日期。

来自MYSQL手册

  

DATETIME类型用于包含日期和时间的值   部分。 MySQL在' YYYY-MM-DD中检索并显示DATETIME值   HH:MM:SS'格式。支持的范围是' 1000-01-01 00:00:00'至   ' 9999-12-31 23:59:59'。

答案 1 :(得分:1)

如果您只想要日期,那么只需使用日期部分。

更改

$date = date('m/d/Y h:i:s a', time());

$date = date('Y-m-d');

并且在sql中需要引用日期。