Top.Mail.Ru
Ответы

Помогите с сложным запросом SQL

Есть 2 таблицы c_priority и c_users.

В одной таблице c_priority есть приоритеты пользователей, в другой таблице c_users есть ключевой столбец user_priority привязанный к таблице c_priority и столбцу user_priority, оба они с типом smallint. Так же в c_priority есть столбец с названиями приоритетов user_priority_title.

Необходимо выбрать в PHP запросе столбец user_priority_title из таблицы c_priority по id пользователя из таблицы c_users и столбца user_id и его приоритету user_priority в таблице c_users равному столбцу user_priority из таблицы c_priority.

Логика:
SELECT
c_priority.user_priority_title
FROM
c_users and c_priority tables
WHERE FIELDS
c_users.user_id = is cookies from browsers
AND
c_priority.user_priority = c_users.user_priority

Скрипт PHP:
$query = mysqli_query($link, "SELECT c_priority.user_priority_title FROM c_priority, c_users WHERE c_priority.user_priority = c_users.user_priority AND c_users.user_id = ".intval($_COOKIE['id'])." LIMIT 1");

$data = mysqli_fetch_assoc($query);

Результат ошибка:
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in Z:\home\localhost\www\UserPriority.php on line 13

Дополнен

Не правильно ввел название таблицы. SQL не мог найти ее в БД. Отдельное спасибо Андрею.

Вот его ответ:

Чтобы посмотреть, в чём именно ошибка, добавь if после mysqli_query:

$query = mysqli_query($link, "SELECT c_priority.user_priority_title FROM c_priority, c_users WHERE c_priority.user_priority = c_users.user_priority AND c_users.user_id = ".intval($_COOKIE['id'])." LIMIT 1");
if ($query === false) {
var_dump(mysqli_error($link));
exit;
}
$data = mysqli_fetch_assoc($query);

По дате
По рейтингу
Аватар пользователя
Новичок

Чтобы посмотреть, в чём именно ошибка, добавь if после mysqli_query:

$query = mysqli_query($link, "SELECT c_priority.user_priority_title FROM c_priority, c_users WHERE c_priority.user_priority = c_users.user_priority AND c_users.user_id = ".intval($_COOKIE['id'])." LIMIT 1");
if ($query === false) {
var_dump(mysqli_error($link));
exit;
}
$data = mysqli_fetch_assoc($query);

Аватар пользователя
Просветленный

ну так тяжело смотреть в код разбираться тут первое это тут опечатка или так и есть? c_priority.user_priority_title