使用Php在Mysql中输入日期的问题


Trouble With Entering Dates into Mysql using Php

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

我得到的错误通常是这样的:您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解在08:17:00附近使用的正确语法,2012-07-12 08:17:00,2012-07-1208:17:00

我有4个日期条目,因此有4个以上日期的原因。所以约会似乎在进行,但时间有问题。在我的数据库中,我使用的是日期时间。

这是我的代码,我过滤掉了未成功的东西,因为如果我注释掉日期插入,其他东西都可以。

$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个小时的基础教程,然后制作一个网站,对于网站的每一部分,我都会遇到不同的问题,我会研究如何对其进行编码,并一次学习一点。我发现这比阅读手册更有动力。

如果有任何帮助,我将不胜感激。因为我在学习可能会简化代码以使其更具可读性,所以我可以稍后考虑剥离代码,但我想尝试更好地理解它,如果解决方案的格式更可读,那将有所帮助。

组成查询的方式依赖于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');