2016-04-25 67 views
-1

我的目标是检查相同的用户名是否已经存在,如果是的话,以防止它注册。不知道为什么我的代码不起作用。PHP MySQL重复值检查器

我的代码:`

<?php 
$con=mysqli_connect("localhost","username","password","database"); 
$username = $_POST['username']; 
$password = $_POST['password']; 


$query = mysqli_query($con, "SELECT * FROM user WHERE username='$username'"); 

if(mysql_num_rows($query) > 0){ 

echo 'Username already exists!'; 
} 

else{ 


echo 'Username doesnt exist!'; 
$sql_query = "insert into user values('$username','$password', 'null', 'null');"; 
mysqli_query($con, $sql_query) or die (mysqli_error($con)); 
} 


mysqli_close($con); 
?>` 

错误:


Warning: mysql_num_rows() expects parameter 1 to be resource, object given in /home/t1bm/domains/t1bm.us.lt/public_html/register.php on line 11
Username doesnt exist!

+0

在你的代码混合'的mysqli与mysql'! – Saty

+0

你的意思是“我的代码不起作用”。你有错误吗?你总是陷入“用户名不存在”其他情况?像以前的评论一样,使用mysqli,不是两者都不是,因为它不推荐使用。 – olibiaz

+0

是的,每次我得到回声,该用户名不存在。 –

回答

1

使用mysqli_num_rows。 mysql_num_rows在PHP 5.5.0中被弃用,并且在PHP 7.0.0中被删除。

试试这个:

if(mysqli_num_rows($query) > 0){ 

echo 'Username already exists!'; 
} 
+0

感谢!真棒。有用。!!! –