php sql查询未返回正确的结果

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()

我有一个有3个下拉列表的页面。第一队、第二队和场地

当用户单击“查看”时,我会查询DB,返回team1与team2在主场或客场比赛的结果,或者两者都有(取决于用户的选择)

我用来执行查询的代码如下

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());

    }