我使用的MySQL的「唯一」屬性的用戶名和電子郵件列重疊。我如何知道這兩個(用戶名和電子郵件)中的哪一個重疊。我想根據重疊值回顯錯誤消息。重疊電子郵件和/或用戶名的不同錯誤消息。如何知道哪些值在庫MySQLi(使用UNIQUE)
注:我在使用PHP。
我使用的MySQL的「唯一」屬性的用戶名和電子郵件列重疊。我如何知道這兩個(用戶名和電子郵件)中的哪一個重疊。我想根據重疊值回顯錯誤消息。重疊電子郵件和/或用戶名的不同錯誤消息。如何知道哪些值在庫MySQLi(使用UNIQUE)
注:我在使用PHP。
您可以首先查詢該用戶名或電子郵件的數據庫,如果得到結果,請檢查結果集以查看哪一個與發佈的值相同。
$query = "SELECT * FROM userTable WHERE username = '" . $_POST['username'] . "' OR email = '" . $_POST['email'] . "'
如果該查詢返回任何結果,獲取該行與mysqli_fetch_assoc與$ _ POST值進行比較的用戶名和電子郵件的值。如果它不返回任何值,則可以運行插入/更新查詢。
我曾經遵循這個方法,這個工作原理沒有將列標記爲唯一。但是,在mysql中使用獨特的是什麼呢?必須有辦法知道哪些重疊。不管怎麼說,還是要謝謝你。 – ctarimli
給我們看一些代碼。 –
基於數據庫響應返回錯誤消息可能非常不可靠。最好的辦法是查詢你想要保存的值並在保存前進行驗證。我想用一些框架爲你做這件事是最好的辦法,試着尋找一個PHP的ORM。 – eduardohl
我沒有爲此寫任何特定的代碼。我試圖將用戶插入數據庫。例如,我寫了一些代碼;分鐘密碼的長度,檢查單選按鈕是否被選中。最後,我添加一個'else'來顯示有錯誤,並且它工作正常,如果我嘗試插入一個用戶名稱在數據庫中已經存在的用戶,它給了我在「其他」中寫的錯誤質量。我想知道是否有辦法知道這兩者中哪一個重疊。 – ctarimli