Mahanyasa keesara Ответов: 1

Предупреждение: 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[^]

1 Ответов