Проверка на существование записи в базе данных PHP
Cтолкнулся с неприятностью, как бы не пытался, не выходит корректно написать код, что бы проверить по логину, "существует ли юзер в базе данных, если да - присвоить переменной $error значение уже зарегистрирован ". Вообще никак не могу врубиться, впервые пишу регистрацию :D В общем что бы я не писал и как бы я не пытался, не догоняю, как грамотно запилить эту проверку, что бы работало. Без проверки работает, но мне товарищ на создавал 24 одинаковых учетных записей! Я замучился удалять. Помогите по отрубать возможности к угнетению начинающего программиста-самоучки!:D
И вообще, правильно ли я код накатал, может где усовершенствовать можно, а я даже и не знаю)
мой файлик register.php :
<?php
//проверка на символы которых быть не должно, + отсекаем все пробелы(trim)
$username = trim(filter_var($_POST['username'], FILTER_SANITIZE_STRING));
$email = trim(filter_var($_POST['email'], FILTER_SANITIZE_EMAIL));
$login = trim(filter_var($_POST['login'], FILTER_SANITIZE_STRING));
$pass = trim(filter_var($_POST['pass'], FILTER_SANITIZE_STRING));
//проверка на длинну вводимых символов в строке
$error = '';
if(strlen($username) <= 3)
$error = 'Не корректно задано имя пользователя';
else if (strlen($email) <= 3)
$error = 'Не корректно задан E-mail пользователя';
else if (strlen($login) <= 3)
$error = 'Не корректно задан логин пользователя';
else if (strlen($pass) <= 3)
$error = 'Не корректно задан пароль пользователя';
//----------------Проверка на существование пользователя в БД--------------------
require_once 'mysql_connect.php'; //подключашка к базе данных
//выбираем всё из таблички
$sql= 'SELECT * FROM `users`';
$query=$pdo->query($sql);
$error= $query
//----------------------------------------КОНЕЦ ПРОВЕРКИ---------------------------
if ($error != '') {
echo $error ;
exit();
}
$hash= "bredoviibrednizachtoneotgadaeshparol"; //шифровка пароля
$pass= md5($pass . $hash);
require_once '../mysql_connect.php';
//ну и если всё ништяк - запихиваю пользователя в базу данных.
$sql= 'INSERT INTO users(name, email, login, pass) VALUES(?, ?, ?, ?)';
$query= $pdo->prepare($sql);
$query->execute([$username, $email, $login, $pass]);
echo 'Готово';
?>