Как избежать избыточности данных

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

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 (count($row) < 0)
{
$sql2 = "insert into cust_information (firstName, lastName, email, password) values(`$fname`, `$sname`, `$email`, `$pass`)";
$results2 = mysqli_query($conn, $sql) or die(mysqli_error($conn));
if (!$results2){
echo "successfully uploaded cust";
}
}else{
echo "email <strong>".$row["email"]. " </strong> already Exist";
}
}

-2

Решение

Вы проверяете, меньше ли количество возвращаемых результатов, чем 0. Длина массива (и количество найденных результатов) не может быть меньше 0. руководство показывает, что mysqli_fetch_array возвращается null если результатов не найдено, то вы хотите проверить $row === null,

Однако я воспользуюсь этой возможностью, чтобы указать, что объединение переменных в строку запроса SQL оставляет вас широко открытыми для серьезной проблемы безопасности, называемой SQL-инъекция. Поскольку код в настоящее время настроен, пользователи формы смогут запускать любой запрос, который им нравится в вашей базе данных, что совершенно не то, что вам нужно. Я рекомендую читать на готовые заявления чтобы смягчить эту проблему.

2

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

Других решений пока нет …

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