如何检查查询是否返回了一些值?(MySQL、Php)

如何检查查询是否返回了一些值?(MySQL、Php),php,mysql,database,Php,Mysql,Database,我正在创建一个注册系统,我希望有一个查询,检查用户输入的用户名是否不存在,或者是否为其他人所有。但到目前为止我还没有成功。我试着看了一些与我相关的问题和答案,但大多数我都不理解,或者大部分都不适合我。请记住,我是PHP的业余爱好者 $mysqli = mysqli_connect("localhost", "php24sql", "some password","smithside"); $query2 = "SELECT registered FROM contacts WHERE LRN =

我正在创建一个注册系统,我希望有一个查询,检查用户输入的用户名是否不存在,或者是否为其他人所有。但到目前为止我还没有成功。我试着看了一些与我相关的问题和答案,但大多数我都不理解,或者大部分都不适合我。请记住,我是PHP的业余爱好者

$mysqli = mysqli_connect("localhost", "php24sql", "some password","smithside");
$query2 = "SELECT registered FROM contacts WHERE LRN = '$lrn'";
$query2 = mysqli_query($mysqli, $query2) or die(mysqli_error($mysqli));
$row = mysqli_fetch_assoc($query2);
$registered = $row['registered'];
if ($registered == 0) {
$query = "UPDATE contacts SET first_name = '$fname', last_name = '$lname', position = 'none', email = '$email', phone = '$contact', user_name = '$uname', password = '$pass1', access = 'Registered', registered = 1 WHERE LRN = '$lrn'";
$query = mysqli_query($mysqli, $query);
echo "Registration successful!";

$query4 = "SELECT user_name FROM contacts WHERE user_name = '$uname'";
$query4 = mysqli_query($mysqli, $query4); 
$row4 = mysqli_fetch_assoc($query4);
} elseif (mysql_num_rows($query4) > 0) {
echo "Registration failed. Username already taken.";
} else {
echo "Registration failed. LRN already taken.";
}
提前多谢

$num_rows = mysqli_num_rows($query);
if($num_rows == 0)
{
//user name doesn't exist
}
else
{
//user name exists
}
您正在查找
mysqli\u num\u行
函数-


另外,您可以将db中的字段设置为“唯一”,这样,当您提交已经存在的值时,MySQL将始终返回错误


PS您的代码中存在致命的SQL注入安全漏洞。在将任何值发送到DB之前,您必须“清除”它们中的特殊字符-您可以使用此函数来实现它

查看num_rows
}elseif(mysql_num_rows($query4)>0){
这一行中的输入错误意味着您在
mysql
中缺少
i
将该行更改为this
}elseif(mysqli_num_rows($query4)>0){