如何使用PHP函数中的日期和时间查询数据库
如何修复查询代码,使其使用日期和时间搜索数据库,但日期是函数中的变量?我不熟悉PHP和SQL,不知道点(如何使用PHP函数中的日期和时间查询数据库,php,mysql,sql,date,Php,Mysql,Sql,Date,如何修复查询代码,使其使用日期和时间搜索数据库,但日期是函数中的变量?我不熟悉PHP和SQL,不知道点()和引号是如何完全工作的(“”)。如何修复这段代码 WHERE Fixture.date => '$FixtureDate 00:00:00' AND Fixture.date =< '$FixtureDate 23:59:59' 其中Fixture.date=>'$FixtureDate 00:00:00'和Fixture.date=
)和引号是如何完全工作的(“”
)。如何修复这段代码
WHERE Fixture.date => '$FixtureDate 00:00:00' AND Fixture.date =< '$FixtureDate 23:59:59'
其中Fixture.date=>'$FixtureDate 00:00:00'和Fixture.date=<'$FixtureDate 23:59:59'
请参阅下面的代码
function FSearchDate($FixtureDate) {
try {
$conn = new PDO("mysql:host=" . $GLOBALS['servername'] . ";dbname=DATABASE_NAME", $GLOBALS['username'], $GLOBALS['password']);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$statement = $conn->query("
SELECT Fixtures.fixtureid AS FixtureID,
Fixtures.date AS Date,
Fixtures.week AS Week,
Fixtures.home_team AS HomeTeam,
Fixtures.away_team AS AwayTeam,
FixtureScores.home_team AS HomeScore,
FixtureScores.away_team AS AwayScore
FROM Fixtures
INNER JOIN FixtureScores ON Fixtures.fixtureid=FixtureScores.fixtureid
WHERE Fixture.date => '$FixtureDate 00:00:00' AND Fixture.date =< '$FixtureDate 23:59:59'"
);
$result = $statement->fetch();
if ($result == null) { // Fixture ID Doesn't Exist
echo '<script type="text/javascript">alert("The Fixture ID entered is not valid. Please enter a valid Fixture ID");</script>';
} else {
$GLOBALS['FixtureID'] = $result[0];
$GLOBALS['FixtureDate'] = $result[1];
$GLOBALS['FixtureWeek'] = $result[2];
$GLOBALS['FixtureHomeTeamName'] = $result[3];
$GLOBALS['FixtureAwayTeamName'] = $result[4];
$GLOBALS['FixtureHomeTeamScore'] = $result[5];
$GLOBALS['FixtureAwayTeamScore'] = $result[6];
}
}
catch(PDOException $e) {
echo "An problem occured: " . $e->getMessage();
}
$conn = null;
}
函数FSearchDate($FixtureDate){
试一试{
$conn=new-PDO(“mysql:host=”.$GLOBALS['servername'],$GLOBALS['username'],$GLOBALS['password']);
$conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常);
$statement=$conn->query(“
选择Fixtures.fixtureid作为fixtureid,
fixture.date作为日期,
一周又一周,
Fixtures.home_团队作为HomeTeam,
Fixtures.AwayTeam团队作为AwayTeam,
FixtureScores.home_团队作为HomeScore,
FixtureScores.Aways\u团队作为AwayScore
从固定装置
夹具上的内部联接FixtureScores.fixtureid=FixtureScores.fixtureid
其中Fixture.date=>“$FixtureDate 00:00:00”和Fixture.date=<”$FixtureDate 23:59:59“
);
$result=$statement->fetch();
如果($result==null){//Fixture ID不存在
echo“警报(“输入的设备ID无效。请输入有效的设备ID”);
}否则{
$GLOBALS['FixtureID']=$result[0];
$GLOBALS['FixtureDate']=$result[1];
$GLOBALS['FixtureWeek']=$result[2];
$GLOBALS['FixtureHomeTeamName']=$result[3];
$GLOBALS['FixtureAwayTeamName']=$result[4];
$GLOBALS['FixtureHomeTeamScore']=$result[5];
$GLOBALS['FixtureAwayTeamScore']=$result[6];
}
}
捕获(PDO$e){
echo“出现问题:”..e->getMessage();
}
$conn=null;
}
您可以在这里之间使用
$statement = $conn->query("
SELECT Fixtures.fixtureid AS FixtureID,
Fixtures.date AS Date,
Fixtures.week AS Week,
Fixtures.home_team AS HomeTeam,
Fixtures.away_team AS AwayTeam,
FixtureScores.home_team AS HomeScore,
FixtureScores.away_team AS AwayScore
FROM Fixtures
INNER JOIN FixtureScores ON Fixtures.fixtureid=FixtureScores.fixtureid
WHERE Fixtures.date BETWEEN 'date('Y-m-d H:i:s',$FixtureDate)' AND 'date('Y-m-d H:i:s',$FixtureDate)'"
);
请检查此声明
WHERE Fixtures.date BETWEEN 'date('Y-m-d H:i:s',$FixtureDate)' AND 'date('Y-m-d H:i:s',$FixtureDate)'
您的查询是错误的:
WHERE Fixture.date => '$FixtureDate 00:00:00' AND Fixture.date =< '$FixtureDate 23:59:59'"
其中Fixture.date=>“$FixtureDate 00:00:00”和Fixture.date=<“$FixtureDate 23:59:59”
您正在尝试使用=>
和=在不使用FSearchDate()
方法的情况下尝试查询,是否有效?如果有效,则它是一个可变范围。请参阅有关PHP和MySQL集成的教程。“点”用于字符串连接,引号类型('vs')很重要,尤其是在您使用它们的上下文中。