PHP: Как запустить этот оператор IF - PullRequest
2 голосов
/ 28 апреля 2011

Я запустил этот скрипт, но продолжаю получать сообщение «не работает», которое я вставил в него.Я знаю, что значение в БД является правильным, это должно быть что-то в моем 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';

            }

Ответы [ 5 ]

4 голосов
/ 28 апреля 2011

попробуйте это:

        $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';

        }
3 голосов
/ 28 апреля 2011

fetch_assoc возвращает массив, а не одну строку

Вам необходимо проверить значение $ admin ['role'], а не $ admin для значения admin.

3 голосов
/ 28 апреля 2011

Не проверено

$row = mysqli_fetch_row($showadmin);
if($row[0] == 'admin'){ ..  
2 голосов
/ 28 апреля 2011
        $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';

        }
0 голосов
/ 28 апреля 2011
$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'];
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...