为什么我的PHP循环不能正常工作?

时间:2015-12-27 08:58:15

标签: php

我正在开展社交网络项目。

我有一个名为member的表格,其中包含有关每位用户的信息:nameagegender等。

我正在尝试根据用户的性别显示默认个人资料照片。

<?php
$sql = "SELECT gender FROM member WHERE member_id = '$user_id'";
$result = $link->query($sql);

if ($result->num_rows > 0) {
    while ($row = $result->fetch_assoc()) {
        echo "gender is" . $row['gender'];
        if($row['gender'] ='female'){
?>

            <img src="..\img\female.png"  />

 <?php 
            break;
        }
        else if ($row['gender'] = 'male') {
 ?>
            <img src="..\img\male.png"  />

 <?php 
            break;
        }
    }
} 
?>

现在,正确地回应了性别,但它总会显示女性的照片。我做错了究竟是什么意思?

3 个答案:

答案 0 :(得分:2)

只需在if语句中进行更改,等号为等号两次

           <? php
            if($row['gender'] =='female'){
            ?>

               <img src="..\img\female.png"  />

          <?php break;}

答案 1 :(得分:1)

错误发生在你的if语句中。 =将分配,==将进行比较。请尝试以下代码:

<?php
$sql = "SELECT gender FROM member WHERE member_id = '$user_id'";
$result = $link->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "gender is".$row['gender'];
        if($row['gender'] =='female'){
            echo '<img src="..\img\female.png"  />';
            break;
        }
        else if($row['gender'] == 'male'){
            echo '<img src="..\img\male.png"  />';
            break;
        }
    }
}
?>

答案 2 :(得分:1)

=为左变量赋值。您在if语句中分配值而不是比较它们。你的if语句应该是

If($row["gender"]=="male"){
   // code
}