0

我打算使用 PHP 编写视频脚本。我有流动的问题 :: 我想选择一个在过去 24 小时内没有被当前用户 IP 看到的视频。

我使用这个 sql 命令:

SELECT videos.VideoID FROM  videos,Video_log WHERE Videos.VideoID=Video_log.VideoID Video_log.TIMESTAMP NOT BETWEEN  '$today' AND  '$yesterday' AND Video_log.ip != '127.0.0.1' 

数据库表:

Videos Table :  
VideoID 
VideoURL

表二:

Video_log Table :::
viewID
VideoID
ViewDate
IP

但是这个 sql 查询返回过去 24 小时(今天)已被同一用户 IP 观看过的视频的视频 ID

更简单 :

此 ip 在过去 24 小时内未查看并选择 videoID

4

1 回答 1

1

你的逻辑是倒退的not between。第一个日期必须在第二个日期之前:

SELECT videos.VideoID
FROM  videos join
      Video_log
      on Videos.VideoID=Video_log.VideoID
where Video_log.TIMESTAMP NOT BETWEEN '$yesterday' and '$today' AND
      Video_log.ip != '127.0.0.1'

我还冒昧地通过将条件移动到on子句中来修复您的连接语法。您还应该学习如何将参数传递到查询中,而不是将它们直接放入字符串中。

于 2013-06-13T17:15:01.263 回答