【问题标题】:Trouble With Entering Dates into Mysql using Php使用 Php 将日期输入 Mysql 时遇到问题
【发布时间】:2012-07-27 07:58:26
【问题描述】:

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

我得到的错误通常是这样的: 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 '08:17:00, 2012-07-12 08:17:00, 2012-07-12 08:17:00, 2012-07- 附近使用正确的语法12 08: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 小时的基础教程,然后制作一个网站,对于网站的每个部分,我都会遇到不同的问题,我会研究如何编写代码并一次学习一点.我发现这比阅读手册更有动力。

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

【问题讨论】:

  • 在此处发布您生成的 SQL 查询
  • 从这个错误:'08:17:00, 2012-07-12 08:17:00, 2012-07-12 08:17:00, 2012-07-12 08:17:00 我猜问题是sql中的日期需要撇号
  • @Dale 这就是为什么我要求 OP 向我们展示查询 :)

标签: php mysql forms date insert


【解决方案1】:

您编写查询的方式是无效的语法。尝试转储组合字符串以进行调试,您会发现引号是错误的。

错误:

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

【讨论】:

  • 确实是因为我没有引号中的日期,有趣的是,当我复制过滤后的语句时,我将它们放在引号中而没有注意到它但是一旦你提到我就可以立即看到所以感谢所有帮助伙计们
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-20
  • 1970-01-01
  • 1970-01-01
  • 2010-09-24
  • 2017-01-04
  • 1970-01-01
相关资源
最近更新 更多