¿Por qué mi sentencia if no funciona como espero?

Estoy tratando de lograr lo siguiente: Le pido a mi base de datos SQL una consulta usandoSELECT * FROM subjects. Después de hacer eso pido la matriz usandomysqli_fetch_assoc. Hasta ese momento todo está bien. El problema ahora es que cuando intento modificar en cada bucle el valor de $ genero dependiendo de si es 1 o 0. Pero el valor de $ genero nunca cambia, siempre es 1 y estoy seguro de que la matriz está obteniendo 0 y 1. ¿Alguna idea mientras los valores de $ genero no están cambiando a través del bucle?

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;
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta