php sql查询未返回正确的结果
我有一个有3个下拉列表的页面。第一队、第二队和场地 当用户单击“查看”时,我会查询DB,返回team1与team2在主场或客场比赛的结果,或者两者都有(取决于用户的选择) 我用来执行查询的代码如下php sql查询未返回正确的结果,php,mysql,sql,Php,Mysql,Sql,我有一个有3个下拉列表的页面。第一队、第二队和场地 当用户单击“查看”时,我会查询DB,返回team1与team2在主场或客场比赛的结果,或者两者都有(取决于用户的选择) 我用来执行查询的代码如下 if($venue = "hometeam"){ $result= " SELECT * FROM `results` WHERE `hometeam` = '$team1' && `awayteam` = '$team2'" or die(mysql_error()
if($venue = "hometeam"){
$result= " SELECT *
FROM `results`
WHERE `hometeam` = '$team1' && `awayteam` = '$team2'" or die(mysql_error());
}
else if($venue = "awayteam"){
$result = " SELECT *
FROM `results`
WHERE `awayteam` = '$team1' && `hometeam` = '$team2'"or die(mysql_error());
}
else if($venue ="all"){
$result = " SELECT *
FROM `results`
WHERE (`hometeam` = '$team1' AND `awayteam` = '$team1') OR (`hometeam` = '$team2' AND `awayteam` = '$team2')"or die(mysql_error());
}
问题
无论用户选择的是客场还是主客场,返回的结果始终是team1作为主队,如下图所示:
在上面的示例中,我选择了第1队作为风暴队,第2队作为鲨鱼队,我选择了离开场地以显示风暴队在客场比赛时与鲨鱼队的比赛记录,但正如您从图像中看到的,风暴队仍然显示为主队
如果有人能告诉我我做错了什么或给我指出了正确的方向,我将不胜感激
提前感谢您您正在对
if
语句执行赋值操作。使用=
而不是=
应该是
if($venue == "hometeam"){
//^------ Add one more like this. Do this for your `elseif` too
您当前正在使用条件语句“赋值”而不是“比较”。它是“复数”形式。你有三个应该是=
而不是=
=
是,而=
是
缺少额外的=
请参见箭头^
if($venue = "hometeam")
^
else if($venue = "awayteam")
^
else if($venue = "all")
^
重写:
if($venue == "hometeam"){
$result= " SELECT *
FROM `results`
WHERE `hometeam` = '$team1' && `awayteam` = '$team2'" or die(mysql_error());
}
else if($venue == "awayteam"){
$result = " SELECT *
FROM `results`
WHERE `awayteam` = '$team1' && `hometeam` = '$team2'"or die(mysql_error());
}
else if($venue == "all"){
$result = " SELECT *
FROM `results`
WHERE (`hometeam` = '$team1' AND `awayteam` = '$team1') OR (`hometeam` = '$team2' AND `awayteam` = '$team2')"or die(mysql_error());
}
首先,这个
if($vention=“hometeam”){
应该使用2x=
,就像if($vention==“hometeam”){
中一样,您当前正在“分配”而不是“比较”。在if
语句中,注意“复数”形式?;-)如果你有三个,那么你在IF语句中的复数是什么意思?请看下面我的答案,看看区别。@Marilee你有else IF($venture=“awayteam”)
,而它应该是else IF($venture==“awayteam”)
,第三个相同。
if($venue == "hometeam"){
$result= " SELECT *
FROM `results`
WHERE `hometeam` = '$team1' && `awayteam` = '$team2'" or die(mysql_error());
}
else if($venue == "awayteam"){
$result = " SELECT *
FROM `results`
WHERE `awayteam` = '$team1' && `hometeam` = '$team2'"or die(mysql_error());
}
else if($venue == "all"){
$result = " SELECT *
FROM `results`
WHERE (`hometeam` = '$team1' AND `awayteam` = '$team1') OR (`hometeam` = '$team2' AND `awayteam` = '$team2')"or die(mysql_error());
}