为什么我的if语句没有按照我期望的方式工作?

时间:2013-11-16 01:23:48

标签: php mysql if-statement

我正在尝试实现以下目标:我使用SELECT * FROM subjects向SQL数据库询问查询。在这之后我使用mysqli_fetch_assoc请求数组。在那之前一切都很好。现在的问题是,当我尝试在每个循环中修改$ genero的值时,取决于它是1还是0.但是$ genero的值永远不会改变,它总是1并且我确信数组是0和1。当$ genero的值没有通过循环改变时,有什么想法吗?

while ($subject = mysqli_fetch_assoc($result)) {
if ($subject["sexo"] = 1) { 
    $genero = "<img src='images/hombre.png' />";
} else {
    $genero = "<img src='images/mujer.png' />";
}
    echo $genero;
}

2 个答案:

答案 0 :(得分:8)

您的比较运算符错误。您使用的是= 分配运算符。在你的例子中,它将永远是真的。您需要使用==这是比较运算符。

if ($subject["sexo"] = 1) { 

应该是

if ($subject["sexo"] == 1) { 

答案 1 :(得分:0)

if声明中,您应使用双等号:if (a == b)