我正在尝试在MySQL数据库中插入日期,但是我收到了SQL语法错误,这是我的代码(关于日期):
$h = "2";
$hm = $h * 60;
$ms = $hm * 60;
$data['date'] = gmdate("Y-m-d g:i:s", time()+($ms));
$thismoment = $data['date'];
$this->db->query('INSERT INTO gotcha_user_task (gotcha_user_id, task_id, target_gotcha_user_id, date)
VALUES ('.$gotchauserid.','.$notactivetask.','.$randleasttargetedvalue.','.$thismoment.') ');
这是我的错误:
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '9:31:50)' at line 2
INSERT INTO gotcha_user_task (gotcha_user_id, task_id, target_gotcha_user_id, date) VALUES (6,4,7,2014-05-22 9:31:50)
我已经用phpMyAdmin手动添加了两行,因此我知道日期应该按照这个顺序放置YYYY-MM-DD HH-MM-SS
(至少它们在表中的方式),因此我尝试过这个(因为我已经读过,作为其他人的解决方案)并没有帮助我(还)。我也尝试使用`'解决方案',因为第一部分和第二部分之间有一个空间,对我来说也没有帮助。
这是我的第一个“更大”的项目(它仍然很小^^),所以它可能是任何东西,因为我写的几乎所有东西都是我在这个项目上学到的东西。
答案 0 :(得分:0)
您需要在$thismoment
周围添加引号
试试这个:
$this->db->query('INSERT INTO gotcha_user_task (gotcha_user_id, task_id, target_gotcha_user_id, date)
VALUES ('.$gotchauserid.','.$notactivetask.','.$randleasttargetedvalue.',"'.$thismoment.'") ');
答案 1 :(得分:0)
您的查询必须是:
$this->db->query('INSERT INTO
gotcha_user_task (gotcha_user_id, task_id, target_gotcha_user_id, date)
VALUES ('.$gotchauserid.','.$notactivetask.','.$randleasttargetedvalue.',"'.$thismoment.'") ');
你 2014-05-22 9:31:50 这个值应该在配额标记中。这就是为什么它会给出错误。