把两个if语句放在一起


Putting 2 if statements together

我很喜欢在第一方做2个if语句,如果设置提交

    if(isset($_POST['submit'])) 
    {
        $myName = mysql_real_escape_string($_POST['myName']);
        $mydropdown = mysql_real_escape_string($_POST['mydropdown']);
        $sql = "SELECT * FROM user_pokemon WHERE id='{$myName}' AND slot='{$mydropdown}'  LIMIT 1 ";
        $result = mysql_query($sql) or die(mysql_error());
    // here we check to see if the username is all ready in the db
$sql2 = "SELECT * FROM user_pokemon WHERE  slot='{$mydropdown}' AND belongsto = '{$_SESSION['username']}' LIMIT 1 ";
    $result2 = mysql_query($sql2) or die(mysql_error());

        if (mysql_num_rows($result2)==1) { 
            echo 'A monster is all ready in that slot'; 
        }else{
            $battle_get = mysql_fetch_array($result);
            $result = mysql_query("UPDATE user_pokemon SET slot='{$mydropdown}' WHERE id = '{$myName}'")
                or die(mysql_error());
        }
    }

对于某些奇怪的压力,即使行计数为1,它也会继续执行其他操作。我想我把我从来没有做过的{和}混在一起了,如果雄蕊是为了的,如果可以的话,我就做donno??

我想看看老虎机里有没有怪物。用户有6个插槽,可以吗?还有一个盒子。这个脚本从盒子里挑选一个怪物,并将怪物插入6个插槽中的1个(他们选择哪个插槽)。现在我需要制作它,这样如果插槽中有一个怪物准备好了,它就不会将怪物添加到插槽中,因为它会摆脱旧怪物。。。。。

this:

belongsto = '".$_SESSION{'username'}."'

应该是:

belongsto = '{$_SESSION['username']}'

为了让代码对其他人更具可读性,请尝试添加更多更好的注释。

此外,由于if(mysql_num_rows($result2) == 1),如果也有超过1个条目,则会运行else,我认为您不希望发生这种情况。也许你想放一个>= 1

正如jgibson所说,更改$session上的括号,但如果将查询限制为1个结果,则不需要检查num_rows == 1,只需检查是否有结果即可。多余的代码会使事情变得混乱和难以调试。

编辑时间:另外,为什么在同一个if块中有2个查询和2个结果?您不会对该块中的第一个查询/结果执行任何操作,因此应该将其删除。事实上,从您提供的代码来看,您似乎根本没有使用该查询。