尝试在数据库mysql中的DateTime字段内插入时出错

时间:2013-06-30 09:24:36

标签: php mysql

我在经过多个论坛后尝试过这样做,

$date=date('Y-m-d H:i:s');

$query = "INSERT INTO temp_order(user_id ,item_id ,name ,price ,quantity, date) VALUES ({$_GET['cust_id']},{$_GET['item']},'{$content['name']}',{$content['price']},{$_GET['quan']},{$date})";

但是仍然会收到此错误“您的SQL语法中有错误;请查看与您的MySQL服务器版本对应的手册,以便在第1行附近使用'09:23:12'附近的正确语法”。

我不知道这意味着什么。这里数据库中的日期列具有'datetime'类型。

2 个答案:

答案 0 :(得分:1)

你在约会时缺少引号。它应该是:

$query = "INSERT INTO temp_order(user_id ,item_id ,name ,price ,quantity, date)
          VALUES ({$_GET['cust_id']},{$_GET['item']},'{$content['name']}',
                  {$content['price']},{$_GET['quan']},'{$date}')";

答案 1 :(得分:0)

看起来您的日期值是不加引号的,因此它(sql)看起来就像数据库

..., 09:23:12)

哪个不行。尝试a)在使用之前检查实际值,确保它被引用(如果你必须使用一个字符串)和/或b)使用一个mysql内置转换函数,这样你就可以传递一个日期对象而不是某种字符串。

例如STR_TO_DATE记录here