我正在使用登錄系統(tǒng)制作一個網(wǎng)站。當用戶想要注冊并輸入他的電子郵件時,MySQL數(shù)據(jù)庫中應該已經(jīng)不存在該電子郵件了。我正在嘗試通過準備好的語句來編寫代碼。當用戶輸入數(shù)據(jù)庫中已經(jīng)存在的電子郵件時,我希望它將用戶發(fā)送到具有標頭功能的同一注冊頁面,但出現(xiàn)某種錯誤。我試圖將行數(shù)存儲在名為$ resultcheck的變量中,并檢查是否有相同的電子郵件大于0的列(如果已經(jīng)存在)。這是代碼:$query = "SELECT * FROM users WHERE Mail=?;"; $stmt = mysqli_stmt_init($conn); if(!mysqli_stmt_prepare($stmt, $query)) { header("Location: ../registrering.php?error=sqlerror"); exit(); } else { mysqli_stmt_bind_param($stmt, "s", $mail); mysqli_stmt_execute($stmt); mysqli_stmt_store_result($stmt); $resultCheck = mysqli_stmt_num_rows($stmt); if($resultcheck > 0) { header("Location: ../registrering.php?error=emailtaken"); exit(); } else {...}但是,當我提交了一個數(shù)據(jù)庫中已有電子郵件的帳戶時,我成功地在表用戶中輸入了另一列,并且同一電子郵件中有多個列。
2 回答

慕碼人8056858
TA貢獻1803條經(jīng)驗 獲得超6個贊
除了使用SELECT SQL進行檢查之外。您應該將mysql中的列設置為unique。參見https://www.w3schools.com/sql/sql_unique.asp。
- 2 回答
- 0 關注
- 234 瀏覽
添加回答
舉報
0/150
提交
取消