匹配来自mysql的日期和时间 - 逻辑问题

时间:2012-12-28 09:00:00

标签: php mysql

我已在服务器中上传了PHP脚本。它的作用是,它不断读取数据库(mySQL),如果DATE_OF_MATCHTIME_OF_MATCH(这些是mySQL数据库中的2个字段)等于服务器时间,它将执行一条消息

表中的

字段:全部为VARCHAR

ID, DATE_OF_MATCH, TIME_OF_MATCH, MATCH_NAME

MATCH表中的一条记录;

1 , 1/12/2012, 3:40, ManU vs Kaks

问题是,我的select语句错了。我的$theDateAndTime正在返回09:15:03PM,在数据库中我有2个单独的日期和时间记录。那么如何编辑select语句,以便将日期和时间与$theDateAndTime(由服务器返回)相匹配

代码:

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("my_db", $con);
date_default_timezone_set('America/New_York');
$theDateAndTime = date("h:i:sA")."\n";



$result = mysql_query("SELECT * FROM MATCH where DATE_OF_MATCH=".$theDateAndTime." and TIME_OF_MATCH=".$theDateAndTime."");

while(true){
if(result!=null){

while($row = mysql_fetch_array($result))
  {
  echo $row['MATCH_NAME'] ;
  echo "<br />";
  }
}
}

mysql_close($con);
?>

2 个答案:

答案 0 :(得分:0)

我不太了解您的问题,但似乎您正在尝试在两个不同的字段中查询日期和时间,但您只需要花费当前时间。我想你应该尝试这样的事情:

<?php
$current_date = date('d/m/Y');
$current_time = date('h:i');

$result = mysql_query("SELECT * FROM MATCH where DATE_OF_MATCH=".$current_date." and TIME_OF_MATCH=".$current_time."");

否则,你不应该使用mysql_ *函数,而是使用mysqli_ *函数代替预备语句。

答案 1 :(得分:0)

为日期和时间创建两个单独的变量。

$the_date = date("n/j/Y");
$the_time = date("h:i:s");

$result = mysql_query("SELECT * FROM MATCH where DATE_OF_MATCH={$the_date} and TIME_OF_MATCH={$the_time}");

http://us3.php.net/manual/en/function.date.php