[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выборка из базы по 3-м условиям
Bruda
Здравствуйте!

Есть БД answered_questions с 3-мя полями: question_id, login, answered
answered - BOOL

Мне надо сделать запрос, есть ли такое поле для конкретного логина:
$user_login = $_SESSION ['login'];

mysql_query(" SELECT * FROM answered_questions WHERE `question_id` = '$id_new' AND `login` = '$user_login' AND `answered` = TRUE ORDER BY id DESC; ");

$answer_check = mysql_fetch_array($check_if_already_answered);


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

и если есть такая запись в БД, тогда один участок скрипта идет, если нет - то другой
но проблема в том, что echo $answer_check['login'] не выводит мне логин и вроде как вообще не проверяет по нему

просьба подсказать, правильно ли я сделал запрос в части логина.

спасибо.
Valick
Bruda, совет как всегда один читай книги.
1) Сохраняй запрос в отдельную переменную, на этапе отладки можно дописать echo перед запросом и проконтролировать корректность подставляемых в запрос данных в браузере. А так же скопировать готовый запрос со страницы браузера и выполнить его в phpmyadmin.
2) На этапе отладки используй конструкцию or die() для вывода ошибок
$res = mysql_query($query) or die(mysql_error());
3) Для изучения sql большой разницы нет, но используй драйвер mysqli_ , вместо устаревшего драйвера mysql_ .

PS идентификация пользователя обычно происходит по хранящемуся в сессии идентификатору пользователя, а не по его логину. Идентификатор пользователя это то, что никогда, ни при каких обстоятельствах, измениться не может.

_____________
Стимулятор ~yoomoney - 41001303250491
Bruda
Спасибо за такие ценные комментарии.
То есть мне нужно писать как $_Session[‘id’]?
Создать переменную $user_id = $_Session [‘id’] и ее вставлять в запрос mysql
Valick
$_SESSION['id'] - все буквы большие.

_____________
Стимулятор ~yoomoney - 41001303250491
Valick
Bruda, вот такой запрос на выборку случайного вопроса получается для той архитектуры БД, что я скинул в личку.

SELECT `q`.`q_text`
FROM `test_category` `tc`
LEFT JOIN `tests` `t` USING(`t_id`)
LEFT JOIN `test_question` `tq` USING(`t_id`)
LEFT JOIN `questions` `q` USING(`q_id`)
LEFT JOIN (SELECT `q_id`
FROM `us_ca_te_qu_an`
WHERE `u_id` = 1 AND `c_id` = 1 AND `t_id` = 11) `uctqa` USING(`q_id`)
WHERE `tc`.`c_id` = 1 AND `tc`.`t_id` = 11 and `uctqa`.`q_id` IS NULL
ORDER BY
RAND() LIMIT 1


_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.