我試圖檢查重複項的用戶名列,如果發現「用戶名被採取」應回顯。無論什麼輸入作爲用戶名「用戶名是好的」總是回顯......是什麼導致了這一點,我該如何改變它?檢查mysql表中的重複項在php
$username = preg_replace('#[^a-z0-9]#i', '', $_POST['usernamecheck']);
$sql = "SELECT * FROM riders WHERE username='$username' LIMIT 1";
$query = mysqli_query($connect, $sql);
$uname_check = mysqli_num_rows($query);
if ($uname_check == 0) {
echo '<strong style="color:#009900;">' . $username . ' is OK</strong>';
exit();
} else {
echo '<strong style="color:#F00;">' . $username . ' is taken</strong>';
exit();
}
什麼' echo $ sql;'在執行該查詢之前顯示? –
這個:SELECT * FROM車手WHERE username ='test'LIMIT 1 – willi
請顯示'var_dump(mysqli_num_rows($ uname_check))'的輸出是什麼。我的猜測是你的查詢出了問題。 –