Проверка строки на занятость в базе данных (SQL)

Форум для тех кто начинает осваивать язык php.
александр
Сообщения: 2
Зарегистрирован: Пн июн 15, 2015 2:57 am

Проверка строки на занятость в базе данных (SQL)

Сообщение александр » Пн июн 15, 2015 3:24 am

Всем привет!
У меня вопрос, на сайте я сделал авторизацию регистрацию. Все хорошо работает.
Теперь хочу сделать, проверку.
"Если емаил новый заносим в базу данных, если уже существует, то пишем, такой емаил существует".
Вот что я делаю, пишу функцию:

Код: Выделить всё

function povtorEmail($email) { 
    $mysqli = connectDB();(подключаюсь к базе)
    $result_set = $mysqli->query("SELECT `email` FROM `users` WHERE `email` = '$email'");(произвожу выборку,если такой уже емаил)
    как мне обработать $result_set???
        ЧТОБЫ ДАЛЬШЕ ТАК МОЖНО БЫЛО СДЕЛАТЬ?????
    {
         header("Location: povtor_email.php");
        exit;
    }
    closeDB($mysqli);(закрыва соединение)
    } 
Ничего придумать не могу, пробовал через цикл, не получилось, как с этим справиться?

Реклама
Аватара пользователя
Slash
Администратор
Сообщения: 2082
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 68 раз

Re: Проверка строки на занятость в базе данных (SQL)

Сообщение Slash » Пн июн 15, 2015 7:47 am

Такой вопрос уже задавали: Как проверить существование записи в базе MySQL
Проверить существует запись в БД или нет можно при помощи функции mysqli_num_rows(), например так:

Код: Выделить всё

$result_set = $mysqli->query("SELECT `email` FROM `users` WHERE `email` = '$email'");            
if (mysqli_num_rows($result_set) > 0) 
{
    echo 'Email уже занят другим пользователем';
} 
И еще, вот так лучше не делать:

Код: Выделить всё

    $result_set = $mysqli->query("SELECT `email` FROM `users` WHERE `email` = '$email'");(произвожу выборку,если такой уже емаил) 
Надо так:

Код: Выделить всё

    $result_set = $mysqli->query("SELECT `email` FROM `users` WHERE `email` = '$email'"); # произвожу выборку,если такой уже емаил 
То есть комментировать, иначе получите ошибку, скорее всего пустую страницу.

Ответить Пред. темаСлед. тема

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя