所以我有一個如果在PHP語句來檢查,如果一個用戶名/電子郵件已經在SQL表中使用,但是當我測試它,它口口聲聲說用戶名/電子郵件已在使用,即使其不。所以我假設我做了if語句或檢索數據錯誤,但是我找不到我做錯了什麼。另外,當我檢查字段是否爲空時,即使它們仍在繼續,也不要求它們填寫所有字段。所以如果有人能告訴我這些代碼行有什麼問題,我會很感激。謝謝。獲取SQL數據錯誤?
$sql="SELECT username, email FROM table_name";
$result=mysqli_query($con,$sql);
if($result === FALSE){
}else{
$row=mysqli_fetch_array($result);
}
if (empty($_POST['firstname']) || empty($_POST['lastname']) || empty($_POST['username']) || empty($_POST['email']) || empty($_POST['password']) || empty($_POST['password2'])) {
if(!($_POST['username'] == $row['username']) && ($_POST['email'] == $row['email'])) {
} else {
echo '<script type="text/javascript">'
, 'window.alert("That username or email is already in use.")'
, '</script>';
}
} else {
echo '<script type="text/javascript">'
, 'window.alert("Please fill in all the fields.")'
, '</script>';
}
嘗試呼應查詢的結果和$ _POST陣列屏幕:回聲$ _ POST [「用戶名」]和回聲$行[「用戶名」]直觀地比較。 –
您可以選擇查詢中的所有行,但只檢索的第一行。你應該添加一個'WHERE'條款,並通過用戶名和電子郵件,讓MySQL的引擎進行搜索。重點得到驗證第一個工作日,當你已經完全測試過,並得到它的工作,移動到數據庫查詢檢查不要試圖一下子解決很多問題,打破它 – MrCode
另一件事 - 。你如果主聲明只有當表單中的某個字段爲空時纔會讓您進入。 –