не могу сравнить данные из БД

Я создаю свой личный сайт, чтобы продавать музыку и помогать местным артистам продвигать свою музыку. Тем не менее, я испытываю проблему.

Я создал страницу регистрации, где новый пользователь может быть зарегистрирован в системе. Сначала я попытался найти, существует ли электронное письмо в базе данных, чтобы в таблицах не было повторяющихся электронных писем. Я создал if для этого утверждения, поэтому, когда утверждение истинно (имеется в виду, что найден дубликат электронной почты), оно печатает «электронная почта существует», но когда не находит никакой информации из БД, экран остается пустым, где должна быть выброшена другая часть оператора. в и напечатайте «письмо не найдено».

Может кто-нибудь помочь мне увидеть, где я ошибся? Вот мой код:

 if ($_POST['submit2']){
$fname = $_POST['Fname'];
$sname = $_POST['Sname'];
$email = $_POST['Emailaddress'];
$pass = $_POST['newpassword'];

$sql= "select * from cust_information where email = '$email'";
$results = mysqli_query($conn, $sql) or die(mysqli_error($conn));
$row = mysqli_fetch_array($results) or die(mysqli_error($conn));
if($row > 0){
echo "email exists";
}elseif ($row <0){
echo "email doesnt exist";
}else{
echo "nothing was done";
}
}

1

Решение

удалить условие elseif

 if($row > 0){
echo "email exists";
}else{
echo "email doesnt exist";
}
1

Другие решения

Прежде всего, ваш код уязвим для SQL-инъекция и вам нужно чтобы предотвратить это

Во-вторых, ваш ряд $row = mysqli_fetch_array вернет массив, так что сравнение $array > 0 или же $array < 0 является недействительным. Лучше сравнить count($row) > 0 или же count($row) === 0 который будет сравнивать количество возвращаемых строк

1

Это все, что вам нужно:

if(count($row) > 0)
{
echo "email exists";
}
else
echo "email doesnt exist";
}
1

Ответ всегда будет 1 или 0, больше никогда не будет. Если массив имеет значение null, то это другая проблема, но вы не должны вставлять это как еще, если.

if($row > 0){
echo "email exists";
}
else{
echo "email does not.";
}

Я бы также предложил использовать PDO http://php.net/manual/en/book.pdo.php. Ваш текущий код оставляет вас широко открытыми для SQL-инъекций.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector