如果变量等于值php

我试图在数据插入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 ($type == 1){
  $type = "Bear"; 
}

您将值与==或===进行比较.

您可以使用=分配值.

您可以使用switch语句编写更少的代码来实现相同的结果,或者只使用一堆没有elseif的ifs.

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']);

相关文章

MySQL 死锁 是指两个或多个事务互相等待对方持有的锁,从而导...
在MySQL中,InnoDB引擎通过Next-Key Locking技术来解决幻读问...
在数据库事务管理中,Undo Log 和 Redo Log 是两种关键日志,...
case when概述 sql语句中的case语句与高级语言中的switch语句...
其实很简单,只是为了忘记,做个记录,用的时候方便。 不管是...
1.进入服务,找到mysql服务,在属性里找到mysql的安装路径 2...