【问题标题】:If variable equals value php [duplicate]如果变量等于值php [重复]
【发布时间】:2013-04-28 23:21:45
【问题描述】:

我正在尝试在数据插入 MySQL 查询之前进行检查。 这是代码;

$userid = ($vbulletin->userinfo['userid']);
$sql3 = mysql_query("SELECT * FROM table WHERE ID='$_POST[hiddenID]'");

while ($row = mysql_fetch_array($sql3)){

$toon = $row['toonname'];
$laff = $row['tlaff'];
$type = $row['ttype'];

if ($type == 1){
$type == "Bear";
} elseif ($type == 2){
$type == "Cat";
} elseif ($type == 3){
$type == "Dog";
}            

}

但是,这不起作用。 基本上,每种类型的“表”中都有不同的值。 1 表示熊,2 表示猫,3 表示狗。

感谢能帮助我发现我脚本中的问题的人!

【问题讨论】:

  • 您需要了解更多关于赋值=、相等===== 身份运算符
  • 使用数组代替if

标签: php mysql variables if-statement conditional-statements


【解决方案1】:

您是在比较,而不是在分配:

if ($type == 1){
  $type = "Bear"; 
}

您将值与===== 进行比较。

您使用= 分配值。

您也可以编写更少的代码来获得相同的结果,使用 switch 语句,或者只是一堆 ifs 而没有 elseifs。

if ($type == 1) $type = "Bear";
if ($type == 2) $type = "Cat";
if ($type == 3) $type = "Dog";

我会为它创建一个函数,如下所示:

function get_species($type) {
    switch ($type):
        case 1: return 'Bear';
        case 2: return 'Cat';
        case 3: return 'Dog';
       default: return 'Jeff Atwood';
    endswitch;
}

$type = get_species($row['ttype']);

【讨论】:

    【解决方案2】:

    您使用的是== 而不是=。它将变量与新值进行比较。使用= 设置值。

    if ($type == 1){
    $type = "Bear";
    } elseif ($type == 2){
    $type = "Cat";
    } elseif ($type == 3){
    $type = "Dog";
    }  
    

    【讨论】:

      【解决方案3】:

      您正在使用== 分配值:

      $type == bear;

      应该是:

      $type = bear;

      【讨论】:

        【解决方案4】:
        if ($type == 1) {$displayVar = "Bear";}
        

        示例:

        <form method="post" action="results.php">
        How many horns does a unicorn have? <br />
        <input type="text" name="inputField" id="inputField" /> <br />
        <input type="submit" value="Submit" /> <br />
        </form>
        

        结果:

        <?php 
        $inputVar = $_POST["inputField"];
        if ($inputVar == 1) {$answerVar = "correct";}
        else $answerVar = "<strong>not correct</strong>";
        ?>
        <?php 
        echo "Your answer is " . $answerVar . "<br />";
        ?>
        

        【讨论】:

          猜你喜欢
          • 2022-07-04
          • 2011-12-06
          • 2012-05-25
          • 1970-01-01
          • 2020-07-11
          • 2011-01-18
          • 2017-10-24
          • 2019-11-03
          • 1970-01-01
          相关资源
          最近更新 更多