Я новичок в PHP и Mysql, по какой-то причине он проверяет только оператор if ($ email == $ result2), который вводит имя пользователя или адрес электронной почты. Я не знаю почему? может кто-то объяснить это логически, я застрял часами, выясняя это. :(Спасибо Пожалуйста, будьте добры.Я не знаю, что не так с этим кодом SQL
<?php
session_start();
include_once("connect.php");
$email = $_POST['email'];
$username = $_POST['username'];
//echo $_POST['email'];
if(isset($_POST['email']))
{
$extract= mysql_query("SELECT username, email FROM users");
$resultq = mysql_num_rows($extract);
while($row= mysql_fetch_array($extract))
{
$result = $row['username'];
$result2 = $row['email'];
//$pass = $_POST['pass'];
if($email == $result2)
{ //check if there is already an entry for that username
echo "Email Address is already used!";
exit(); //break;
}
if ($username == $result)
{
echo " Username is already Taken!";
//mysql_query("INSERT INTO users (Username, Password) VALUES ('$user', '$pass')");
//header("location:index.php");
exit(); //break;
}
else
{
}
}
}
Что вы имеете в виду –
Это будет потенциально очень медленным. Что, если ваша таблица 'users' имела в ней большое количество строк? Это много данных для возврата и повторения. Я думаю, вам следует реорганизовать это, чтобы включить параметры электронной почты и имя пользователя * в * ваш запрос и позволить БД выполнить эту работу за вас. –
Удалить 'exit()'. Удалите пустой 'else'. Если вы хотите, чтобы второе условие проверялось только в том случае, если первое значение false, используйте «else if». Если нет, используйте 'if'. В любом случае, я не вижу необходимости в 'exit()'. – Ariane