@hooligan377

Как проверить два параметра в одном запросе к бд?

Нужно проверить существуют ли два параметра внутри одного запроса к бд...

Как проверить один, я знаю:
$result = query($mysqli, "SELECT * FROM user WHERE login=?", ['$_POST['login']'])->get_result()->fetch_assoc();

if($result > 0) {
echo 'Логин занят';
}else{
 // Продолжаем, если логин свободен..
}


Но как допустим проверить два параметра? Логин и например доступность номера телефона?

Говнокодить и создавать два запроса?

$login = query($mysqli, "SELECT * FROM user WHERE login=?", ['$_POST['login']'])->get_result()->fetch_assoc();
$num = query($mysqli, "SELECT * FROM user WHERE num=?", ['$_POST['num']'])->get_result()->fetch_assoc();
if($login> 0) {
echo 'Логин занят';
}elseif($num > 0){
echo 'Номер уже зарегистрирован';
}else{
// Продолжаем, если условия соблюдены
}
  • Вопрос задан
  • 161 просмотр
Решения вопроса 1
@QNA-1976
примерный код
$data = query($mysqli, 'select * from user where login = ? || num = ? limit 1', [
    $_POST['login'],
    $_POST['num']
])->get_result()->fetch_assoc();
if ($data) {
    if ($data['login'] == $_POST['login']) {
        echo 'Логин занят';
    }
    if ($data['num'] == $_POST['num']) {
        echo 'Номер уже зарегистрирован';
    }
}
// тут запрос вида ... insert into user set login = ?, num = ? [POST параметры]
// Вы зарегистрировались
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы