0

サーバーに PHP スクリプトをアップロードしました。それが何をするかというと、DB (mySQL) を読み続け、DATE_OF_MATCHand TIME_OF_MATCH(これらは mySQL db の 2 つのフィールド) がサーバー時間と等しい場合、メッセージを実行します。

テーブル内のフィールド: すべてVARCHAR

ID, DATE_OF_MATCH, TIME_OF_MATCH, MATCH_NAME

MATCHテーブルからの 1 つのレコード。

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);
?>
4

2 に答える 2

0

あなたの質問はよくわかりませんが、2 つの異なるフィールドで日付と時刻をクエリしようとしているようですが、現在の時刻しか取得していません。次のようなことを試してみるべきだと思います:

<?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_* 関数を使用してください。

于 2012-12-28T09:07:54.940 に答える
0

日付と時刻の 2 つの個別の変数を作成します。

$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

于 2012-12-28T09:08:59.497 に答える