2015-03-10 5 views
1

В основном у меня возникли проблемы с отправкой запроса на сервер MySQL и получением данных обратно и проверкой, является ли пользователь администратором или просто пользователем.SQL Query и PHP проверяют, является ли пользователь администратором

Администратор = 1 User = 0

<?php 
$checkAdminQuery = "SELECT * FROM `users` WHERE `admin`"; 
$checkAdmin = $checkAdminQuery 
mysqli_query = $checkAdmin; 

if ($checkAdmin == 1) { 
echo '<h1>Working!</h1>'; 
}else { 
echo '<h1>Not working!</h1>'; 
} 

?> 

К сожалению, что это может быть не так много информации нужно, я в настоящее время новичок в Stack Overflow. Если вы можете мне очень помочь!

+2

SQL, является неполным. Вы должны сказать, что должно быть «admin». У вас также есть хотя бы одна ошибка в коде. Сначала исправьте эти два. Если вы не видите никаких ошибок, включите их (http://stackoverflow.com/questions/1053424/how-do-i-get-php-errors-to-display). –

+0

Укажите имя поля базы данных, для которого «admin» хранится как значение ....! –

+0

SELECT * от пользователей, где 'admin' = 1; – RaMeSh

ответ

1

Во-первых, ваш SQL запрос неправильно

SELECT * FROM `users` WHERE `admin` 

Это отсутствует остаток ИНЕКЕ

SELECT * FROM `users` WHERE `admin` = 1 

Тогда вы потребуется получить результат из результатов запроса. Вы даже не выполнили запрос

$resultSet = mysqli_query($checkAdminQuery) 

Затем оттуда вы захотите извлечь значение.

while($row = mysqli_fetch_assoc($resultSet)) 
{ 
    //do stuff 
} 

Это начальные проблемы, которые я вижу, я продолжу анализировать и находить больше, если необходимо.

Смотрите документацию здесь

http://php.net/manual/en/book.mysqli.php

0
$checkAdminQuery = "SELECT * FROM `users` WHERE `admin`"; !!!! 

где что? вам нужно указать, где job = 'admin' или где name = 'admin' вам нужно указать имя столбца, в котором вы добавляете строку администратора

+0

У вас нет? placemarker в вашем запросе – Zarathuztra

1

Вам нужно иметь что-то вроде идентификатора пользователя, если вы хотите проверить кого-то в базе данных. Например, если вы идентификатор пользователя хранится в сессии

<?php 
// 1. start session 
session_start(); 
// 2. connect to db 
$link = mysqli_connect('host', 'user', 'pass', 'database'); 
// 3. get user 
$checkAdminQuery = mysqli_query($link, "SELECT * FROM `users` WHERE `id_user` = " . $_SESSION['id_user']); 
// 4. fetch from result 
$result = mysqli_fetch_assoc($checkAdminQuery); 

// 5. if column in database is called admin test it like this 
if ($result['admin'] == 1) { 
    echo '<h1>Is admin!</h1>'; 
}else { 
    echo '<h1>Not working!</h1>'; 
} 
?> 
1

// получить все пользователи администратора (предполагается, что база данных уже подключен)

$rtn = array(); 
$checkAdminQuery = "SELECT * FROM `users` WHERE `admin`=1"; 
$result = mysqli_query($dbcon,$checkAdminQuery) or die(mysqli_error($dbconn)); 

while($row = mysqli_fetch_array($result)){ 
    $rtn[] = $row; 
} 
Смежные вопросы