我正在嘗試使用下面的代碼執行「重複的用戶名」檢查。它繼續告訴我,用戶名實際上不可用。有人能告訴我我做錯了什麼嗎?檢查用戶名是否在PHP中可用
FORM
<form method="post" action="scripts/checkusername.php">
<div class="form-group" hidden>
<label for="store">User ID</label>
<input type="text" class="form-control" name="uid" id="uid" value="<?php echo " " . $_SESSION["UserID"] . " "; ?>">
</div>
<div class="form-group">
<label class="control-label">Store URL</label>
<p class="form-control-static"><b><?php echo isset($row['Username']) ? $row['Username'] : NULL; ?></b>.example.com</p>
</div>
<div class="form-group">
<label for="store">Store Name</label>
<input type="text" class="form-control" name="username" id="username" value="<?php echo isset($row['Username']) ? $row['Username'] : NULL; ?>">
</div>
<div class="form-group">
<label for="exampleInputEmail1">Email Address</label>
<input type="email" class="form-control" name="email" id="email" value="<?php echo isset($row['EmailAddress']) ? $row['EmailAddress'] : NULL; ?>">
</div>
<button type="submit" class="btn btn-prime">Update Details</button>
</form>
SCRIPT
<?php
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "users";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if (isset($_POST['username']))
{
$username = mysql_real_escape_string($_POST['username']);
if (!empty($username))
{
$username_query = mysql_query("SELECT *
FROM users
WHERE Username = '$username'");
$count=mysql_num_rows($username_query);
if($count==0)
{
echo "Username doesn't exist";
exit;
}
else
{
echo "Username already exists";
exit;
}
}
}
?>
你不能混合使用'mysql'和'mysqli'這樣的擴展名。如果使用'new mysqli',則必須對所有其他函數使用'mysqli_XXX',或者使用面向對象的接口。 – Barmar