簡體   English   中英

檢查數據庫中是否存在用戶名(PHP)

[英]Check if username exists in database (PHP)

我認為以下代碼應該可以解決問題,但它仍然無法檢測用戶名是否存在。

這是我的代碼:

//CHECK IF USERNAME ALREADY EXISTS
$query = "SELECT * FROM users WHERE username=" . $_POST['username'];
$result = @mysqli_query($dbc, $query);
if(mysqli_num_rows($result >= 1))
{
    echo '<br><br><span style="color:red;text-align:left;">This userame has already been taken!</span>';
    exit;
}

有人知道我做錯了什么/在這里失蹤了嗎?

我認為你應該這樣寫:

if(mysqli_num_rows($result) >= 1)

代替

if(mysqli_num_rows($result >= 1))

mysqli_num_rows返回一個 int,所以在你的 if 語句中你必須在$result之后放置一個)

我認為你應該這樣寫:

$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;
}

你錯過了一些引號和單引號。

$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));在查詢中添加了一些調試OR DIE(mysqli_error($connection)); .

sql 寫錯了。 結束雙引號應該在結束括號之外而不是在等號之外。 你應該有這個: $query = "SELECT * FROM users WHERE username=' ".$_POST['username'] 。 " ' "; 取而代之的是:

$query = "SELECT * FROM users WHERE username=" 。 $_POST['用戶名'];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM