使用PDO转换我的开发后,代码无法正常工作

时间:2012-07-20 15:13:09

标签: php mysql pdo

我正在将我的PHP / mySQL代码转换为PDO,但我遇到了一些困难。下面我添加了我正在使用的确切代码,以便更好地理解。我的目标是向数据库显示name,他们的时间与输入的时间相差2小时。

这是代码

SELECT * FROM events WHERE TIMESTAMPDIFF(HOUR,TIME,:input)< 2

这是我的数据库

name                        date
3D Brave                    2012-07-21 17:00:00
Bol Bachchan                2012-07-21 18:00:00
A Royal Affair              2012-07-21 19:00:00
Not Suitable For Children   2012-07-21 23:00:00

如果$input2012-07-20 18:002012-07-20 20:00,那么我会得到如下所有结果,但它应该只显示那些有差异2小时的结果

3D Brave
Bol Bachchan
A Royal Affair
Not Suitable For Children

1 个答案:

答案 0 :(得分:0)

嗯,您正在查询与列TIME的区别,但在表架构中,它被称为date

更正了查询:

SELECT *
  FROM events 
  WHERE ABS(TIMESTAMPDIFF( HOUR , `date`, "2012-07-21 18:00:00")) < 2;

我做了什么:

  • 将列名更改为date
  • 添加了ABS()功能(因此现在可以向前和向后查看)。

<强> The result of that query.