Предупреждение: mysqli_num_rows() ожидает, что параметр 1 будет mysqli_result, bool задан в E:\xampp\htdocs\signupuser.php на линии 15
Я пытался создать страницу входа в систему и на странице signupuser появилось это предупреждение Кто нибудь пожалуйста помогите мне
Что я уже пробовал:
<!DOCTYPE HTML> <html> <head> <title>User Signup</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <?php extract($_POST); include("database.php"); $rs=mysqli_query($conn,"select * from user where login='$user_id'"); //mysqli_query ( mysqli $link "Login.php" , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] ) : mixed if (mysqli_num_rows($rs)<1) { echo "<br><br><br><div class=head1>Login Id Already Exists</div>"; //echo "<a href = "Login.html">Login here</a>" exit; } $query="insert into user(user_id,login,pass,name,email) values('$user_id','$login','$pass','$name','$email')"; $rs=mysqli_query($conn,$query)or die("Could Not Perform the Query"); echo "Your Login ID" .$user_id. "Created Sucessfully"; echo "Please Login using your Login ID to take Quiz"; echo "You can do to dash board here"; ?> <center> <a href = "index.php">Dashboard Here </a><br><br> <a href = "Login.php">Login Here </a> </center> </body> </html>
Richard Deeming
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
PHP: SQL-инъекция - руководство пользователя[^]
Richard Deeming
Вы также храните пароли в виде обычного текста. Не делай этого.
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хэширование паролей - делаем это правильно[^]
PHP даже имеет встроенные функции, которые помогут вам сделать все правильно:
PHP: password_hash[^]
РНР: функцию password_verify[^]