【问题标题】:PHP: How to run this IF statementPHP:如何运行这个 IF 语句
【发布时间】:2011-04-29 01:53:44
【问题描述】:

我运行了这个脚本,但我不断收到我输入的“没有工作”消息。我知道db中的值是正确的,它一定是我的PHP中的东西......

            $getadmin = "SELECT role FROM user WHERE user_id=$uid";     
            $showadmin = @mysqli_query ($dbc, $getadmin); // Run the query.

            $admin = mysqli_fetch_assoc($showadmin);
            if($admin == 'admin'){  

            echo 'You are an admin!';

            } else {

            echo 'Did not work';

            }

【问题讨论】:

标签: php mysql if-statement


【解决方案1】:

试试这个:

        $getadmin = "SELECT role FROM user WHERE user_id=$uid";     
        $showadmin = @mysqli_query ($dbc, $getadmin); // Run the query.

        $role = mysqli_fetch_assoc($showadmin);
        if($role['role'] == 'admin'){  

        echo 'You are an admin!';

        } else {

        echo 'Did not work';

        }

【讨论】:

  • 就是这个! - 虽然我不得不扭转这些说法...... :)
【解决方案2】:

未测试

$row = mysqli_fetch_row($showadmin);
if($row[0] == 'admin'){ ..  

【讨论】:

    【解决方案3】:

    fetch_assoc 返回一个数组,而不是单个字符串

    您需要检查 $admin['role'] 而不是 $admin 的值 admin。

    【讨论】:

      【解决方案4】:
              $getadmin = "SELECT role FROM user WHERE user_id=$uid";     
              $showadmin = @mysqli_query ($dbc, $getadmin); // Run the query.
      
              $admin = mysqli_fetch_assoc($showadmin);
              if($admin && $admin[0]['role'] == 'admin'){  
      
                  echo 'You are an admin!';
      
              } else {
      
                  echo 'Did not work';
      
              }
      

      【讨论】:

        【解决方案5】:
        $getadmin = "SELECT role FROM user WHERE user_id={$uid}";   //use {} around variables for interpolation
        $showadmin = @mysqli_query ($dbc, $getadmin); // Run the query.
        
        if(!$showadmin)
        {
             die('<p>ERROR: DB result is null</p>');
        }
        
        while($ROW=mysqli_fetch_assoc($showadmin))//returns $ROW associative array
        {
            if($ROW['role'] == 'admin')
            {  
                echo 'You are an admin!';
            } 
            else //$ROW['role']!='admin'
            {
                echo 'Did not work because it is '.$ROW['role'];
            }
        }
        

        【讨论】:

          猜你喜欢
          • 2017-12-22
          • 2020-07-28
          • 2019-10-06
          • 1970-01-01
          • 2022-12-16
          • 1970-01-01
          • 1970-01-01
          • 2013-05-11
          • 2018-07-06
          相关资源
          最近更新 更多