我试图在数据插入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表示狗。
感谢任何人可以帮助我查看脚本中的问题!
答案 0 :(得分:17)
您正在比较,而不是分配:
if ($type == 1){
$type = "Bear";
}
您将值与==
或===
进行比较。
您使用=
分配值。
您可以使用switch
语句编写更少的代码来实现相同的结果,或者只使用if
个elseif
来编写更少的代码。
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']);
答案 1 :(得分:3)
您使用==
代替=
。它将变量与新值进行比较。使用=
设置值。
if ($type == 1){
$type = "Bear";
} elseif ($type == 2){
$type = "Cat";
} elseif ($type == 3){
$type = "Dog";
}
答案 2 :(得分:1)
您正在使用==
分配值:
$type == bear;
应该是:
$type = bear;
答案 3 :(得分:0)
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 />";
?>