从逻辑问题匹配日期和时间


Matching date and time from logic issue

我已经在服务器上上传了一个PHP脚本。它所做的是,它继续读取数据库(mySQL),如果DATE_OF_MATCHTIME_OF_MATCH(这是mySQL数据库中的两个字段)等于服务器时间,它将执行一条消息。

表中

字段:均为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);
?>

我不太理解你的问题,但似乎你正试图在两个不同的字段查询日期和时间,但你只采取当前时间。我觉得你应该试试这样做:

<?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_*函数来代替准备好的语句。

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

$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