2012-07-27 46 views
1

嗨即时学习PHP和MySQL,并插入或更新日期到MySQL的具有1M的问题。麻烦与进入日期到MySQL使用PHP

错误我回来通常是这样的: 您的SQL语法错误;检查对应于你的MySQL服务器版本正确的语法近08年使用手册:17:00,2012-07-12 8时17分00秒,8时17分00秒2012-07-12,2012-07- 12八时十七分00秒

我有4个日期项因此对于上述4个日期的原因。所以日期似乎正在进行,但时间有问题。 在我的datebase使用datetime。

这里是我的代码,我过滤掉uneccessary的东西,一切如果我注释掉的日期插入插入罚款。

$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小时的辅导,然后作出一个网站,并在网站上我遇到一个不同的问题的每一部分,我研究如何编写代码,并学习一次一点。我觉得这比读手册更有动力。

希望得到任何帮助。因为即时通讯学习可能会让代码变得更加可读,我可以稍后查看代码,但是我想更好地理解它,并且如果解决方案的可读性更好,将会有所帮助。

+0

这里后你得到的SQL查询 – 2012-07-27 08:00:26

+0

从这个错误:''08:17:00,08 2012-07-12 :17:00,2012-07-12 08:17:00,2012-07-12 08:17:00'我猜测问题是日期需要sql – Dale 2012-07-27 08:01:56

+0

@Dale周围的撇号,这就是为什么我要求OP给我们查询:) – 2012-07-27 08:03:18

回答

0

您撰写查询elads到invaid语法的方式。尝试转储组合的字符串来代替调试目的,您会发现引号是错误的。

WRONG:

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'); 
+0

这的确是因为我没有引号中的日期,有趣的是,当我copie d过滤的陈述我把它们放在引号中,但没有注意到它,但是一旦你提到我可以即刻看到所有帮助人员的感谢 – user1547410 2012-07-27 08:55:45