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

sma*_*ver -1 php mysql if-statement

我试图实现以下目标:我使用SQL查询我的SQL数据库SELECT * FROM subjects.在这之后我要求使用数组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;
}
Run Code Online (Sandbox Code Playgroud)

Joh*_*nde 8

您的比较运算符是错误的.您正在使用=哪个是赋值运算符.在你的例子中,它将永远是真的.您需要使用==哪个是比较运算符.

if ($subject["sexo"] = 1) { 
Run Code Online (Sandbox Code Playgroud)

应该

if ($subject["sexo"] == 1) { 
Run Code Online (Sandbox Code Playgroud)