使用Php将日期输入Mysql的麻烦

时间:2012-07-27 07:58:26

标签: php mysql forms date insert

嗨我正在学习php和mySQL,我在插入或更新日期到MySQl时遇到了问题。

我回来的错误通常是这样的: 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在'08:17:00,2012-07-12 08:17:00,02012-07-12 08:17:00,2012-07-附近使用正确的语法12 08:17:00

我有4个日期条目因此上面有4个日期的原因。所以日期似乎正在进行,但时间存在问题。 在我的日期库中使用datetime。

这是我的代码,我过滤掉了不必要的东西,因为如果我注释日期插入,其他所有内容都会插入。

$end_date = ($_POST['end_date']);
$end_date = date('Y-m-d H:i:s',strtotime($end_date));

插入查询只是:

mysql_query("INSERT INTO deals (end_date) 
VALUES ('$end_date')") 

or die(mysql_error());  

现在我花了几个小时研究这个并尝试了一堆没有运气的组合,一个解决方案我确实适用于更新是这个工作正常但我不知道如何将其应用于插入因为我不需要3天在这个场景中添加,我想更好地在我学习的同时解决这个日期问题。

$sql = "UPDATE deals SET deal_end_date = DATE_ADD(now(), INTERVAL $my_expiry DAY)";

现在我的学习方式是观看基础知识的40小时教程,然后建立一个网站,网站的每个部分我遇到了一个不同的问题,我研究如何编码并一次学习一点。我发现这比阅读手册更有动力。

非常感谢任何帮助。因为即时通讯可能会使代码变得愚蠢以使其更具可读性,所以我可以考虑稍后删除代码,但我想尝试更好地理解它,如果解决方案的格式更易读,那将有所帮助。

1 个答案:

答案 0 :(得分:0)

编写查询的方式依赖于invaid语法。尝试转储组合字符串而不是为了调试目的,你会发现引号是错误的。

错误:

INSERT INTO deals (end_date) VALUES ('2012-07-12 08:17:00, 2012-07-12 08:17:00, 2012-07-12 08:17:00');

正确就像是:

INSERT INTO deals (end_date) VALUES ('2012-07-12 08:17:00', '2012-07-12 08:17:00', '2012-07-12 08:17:00');