Ниже приведены две таблицы регистрации: одна на прокат и одна для рабочих картинок обеих таблиц.
но я хочу создать единую форму входа для найма и работы пользователя
теперь я написал этот запрос для извлечения данных из обеих таблиц,
$sql = " SELECT *
FROM signup_hire
LEFT OUTER JOIN signup_work ON signup_hire.id = signup_work.id
UNION
SELECT *
FROM signup_hire
RIGHT OUTER JOIN signup_work ON signup_hire.id = signup_work.id
WHERE signup_hire.email = '$myusername' and signup_hire.password = '$mypassword'
OR signup_work.email = '$myusername' and signup_work.password = '$mypassword'";
но я получаю «неверный адрес электронной почты или пароль» — какой правильный запрос использовать?
Вы пробовали простой UNION? Сделайте запрос к первой таблице и добавьте UNION с тем же результатом во вторую таблицу, он вернет результаты, если она соответствует одной из таблиц, имейте в виду, что имена столбцов будут такими же, как в первой таблице, независимо от того, какая из них соответствует. Кроме того, убедитесь, что обе таблицы имеют одинаковое количество столбцов или перечислите нужные поля вместо *
SELECT id,name,email
FROM signup_hire
WHERE signup_hire.email = '$myusername'
AND signup_hire.password = '$mypassword'
UNION
SELECT id,name,email
FROM signup_work
WHERE signup_work.email = '$myusername'
AND signup_work.password = '$mypassword';
Других решений пока нет …