检查数据库中是否存在用户名(PHP)

时间:2018-03-24 11:08:19

标签: php mysql database mysqli

我认为以下代码应该可以解决问题,但它仍然无法检测用户名是否存在。

这是我的代码:

sudo apt remove oracle-java9-installer

任何人都知道我在做错了什么/在这里失踪了吗?

3 个答案:

答案 0 :(得分:1)

我认为你应该这样写:

if(mysqli_num_rows($result) >= 1)

而不是

if(mysqli_num_rows($result >= 1))

mysqli_num_rows会返回一个int,因此在if语句中,您必须在)之后放置$result

答案 1 :(得分:0)

我认为你应该这样写:

$query = "SELECT * FROM users WHERE username=" . $_POST['username'];

if ($result = mysqli_query($dbc, $query)) {

     echo '
           <br><br>
           <span style="color:red;text-align:left;">
               This userame has already been taken!
           </span>';
     exit;
}

答案 2 :(得分:0)

你错过了一些引号和单引号。

$query = "SELECT * FROM `users` WHERE `username` = '" . $_POST['username'] ."'";
$result = mysqli_query($dbc, $query) OR DIE(mysqli_error($dbc)); // Dies if there is any error #debugging
$result_rows = mysqli_num_rows($result);
if ($result_rows >= 1) {
    echo '</br></br><span style="color:red;text-align:left;">This userame has already been taken!</span>';
    exit;
}

使用username = '" . $_POST['username'] ."';代替" . $_POST['username'];

然后使用OR DIE(mysqli_error($connection));为查询添加了一些调试。