Мне нужна помощь, чтобы создать поиск с использованием 2 таблиц, возможно, это синтаксическая ошибка.
В таблице respostas мне нужна дата от aquestion_id e user_id только от пользователя $logado.
Из вопросов таблицы мне нужен вопрос от pergunta и question_id, который нужно создавать только из id, не прослушанных в aquestion_id. Для теста я сделал 4 вопроса, но они не работают.
Вопрос возникает случайным образом, но $logado выглядит не включенным в поиск, потому что показывает 0 в echo $exibir['user_id'];.
Также все вопросы появляются случайным образом, но не перестают отображаться после ответа.
<?php
$sqluser = "SELECT a.aquestion_id, a.user_id, b.pergunta, b.question_id FROM respostas a INNER JOIN questions b ON a.aquestion_id != b.question_id WHERE a.user_id = '$logado' ORDER BY RAND() LIMIT 1";
$executarquest=mysqli_query($conuser, $sqluser);
while ($exibir = mysqli_fetch_array($executarquest)){
if ($exibir['question_id'] > 0)
{
$guarda = ($exibir['question_id']);
echo '<b>Quesion ID: </b>';
echo $exibir['question_id'];
echo '<br>';
echo $exibir['pergunta'];
echo $exibir['user_id'];
}
else{
header('location:/quiz/acabou.php');
}
}
?>
Благодарю за любую помощь и еще раз извините за первое сообщение на португальском языке.






Прежде всего: запрос должен работать синтаксически, но я сомневаюсь, что он возвращает то, что вы хотите. Вы случайным образом выбираете один из ответов пользователя вместе с каким-то несвязанным вопросом.
Что касается WHERE a.user_id = '$logado': '$logado' — это строка. Он содержит знак доллара и слово logado. MySQL хочет сравнить числовое user_id с ним, поэтому он преобразует вашу строку в число. На мой взгляд, это должно лучше завершиться с ошибкой, но MySQL вместо этого возвращает 0. Вот что вы видите в результатах: ответ пользователя 0 и вопрос.
Я полагаю, вы хотите вместо этого использовать переменную:
"...WHERE a.user_id = ".$logado." ORDER ..."
(И тогда вам, возможно, придется исправить свой запрос, чтобы вернуть что-то значимое.)
На заметку: псевдонимы должны быть мнемоническими, например, q для вопроса и r для ответа. Псевдонимы повышают читабельность запроса, а такие имена, как a, b, c, снижают ее.