Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result

Tạo form đăng ký với php mysqli bị lỗi. Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, bool given in C:\xampp\htdocs\BaitapPHPMySQL\dangky.php on line 40.
đây là tất cả code của em:
file: dangky.php

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>baidautien</title>
	<meta name="viewport" content="width=device-width, initial-scale=1" />
	<link rel="stylesheet" href="bootstrap-jquery/css/bootstrap.min.css">
</head>
<body>
	<?php
		require('connect.php');
	?>
	<div class="container">
		<div class="row text-center">
			<h2>Đăng Ký</h2>
			
		</div>
		<div class="row">
			<div class="col-md-6 col-md-offset-3 text-center thongbaoloi">
				<?php
					if(isset($_POST['submit'])){
						if(empty($_POST['username']) or empty($_POST['password'])){
							echo '<p style="color:red "> Vui lòng không để trống </p>';
						} 
						else {

							$username = $_POST['username'];
							$password = $_POST['password'];
							$password2 = $_POST['password2'];
							if(strlen($username) <6 or strlen($password) <6) {
								echo '<p> Username and  Password phải nhiều hơn 6 kí tự </p>';
							}
							else {
								if($password2 != $password) {
									echo '<p>  Password không trùng nhau </p>';
								}else
									{
										$sql = "select * from user where usename='$username'";
										$query = mysqli_query($con, $sql);
										$num = mysqli_num_rows($query);
										if($num == 0) {

											$sql2 = "INSERT INTO user(username,password VALUES('$username','$password')";
											$them = mysqli_query($con, $sql2);
											if($them){
												echo '<p>  Thêm thành công </p>';
											} else {
												'<p>  Thêm không thành công </p>';
											}


										} else {
											echo '<p> Tên đã tồn tại  </p>';
										}

									}

							}

							 } 
						
					}

				?>

				
			</div>
		</div>
		<div class="row">
			<div class="col-md-6 col-md-offset-3">
				<form action="" method="POST" role="form">
				
				
					<div class="form-group">
						<label for="">Username</label>
						<input type="text" name="username" class="form-control" id="" placeholder="Nhập username">
					</div>

					<div class="form-group">
						<label for="">Password</label>
						<input type="password" name="password" class="form-control" id="" placeholder="Nhập password ">
					</div>

					<div class="form-group">
						<label for="">Nhập lại Password</label>
						<input type="password" name="password2" class="form-control" id="" placeholder="Nhập lại password ">
					</div>

					<button type="submit" name="submit" class="btn btn-success">Đăng ký</button>
				</form>
				
			</div>
			
		</div>
		
	</div>
	<script src="bootstrap-jquery/js/bootstrap.min.js"></script>
	<script src="bootstrap-jquery/js/jquery-3.4.1.min.js"></script>

	
</body>
</html>
//////////////////////
file: connect.php
<?php 
	$con = mysqli_connect('localhost','root','','demo');
?>

ảnh lỗi:

ảnh Mysql:

Vì truy vấn không thành công nên giá trị trả về của nó là FALSE. Đây là giá trị không hợp lệ để làm tham số cho mysqli_num_rows().
Vì sao truy vấn không thành công?

usename hay username?

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?