我正在修改另一名開發人員在PHP中構建的Web應用程序。目前,如果用戶填寫表單並輸入已被使用的用戶名,它將在新頁面上顯示MySQL錯誤Duplicate entry 'fred' for key 'username'
。我想這樣做是爲了在同一頁面上顯示一條錯誤消息,所以我試圖檢查輸入的用戶名是否與表中的另一個用戶名匹配,但我無法使其正常工作。有什麼想法嗎?檢查MySQL的重複條目
$username_entry = ($_POST['username']);
$username_match = mysql_query("SELECT * FROM business WHERE username='$username_entry'");
if (($_POST['username']) == $username_match) {
// do something
}
哪部分不工作? –
最好的解決方案是已經實施的解決方案。如果您在輸入結果上獲得重複鍵,則可以顯示相應的錯誤消息。這可以確保您只有一次往返數據庫。如果您在插入之前檢查用戶是否存在,將導致2次往返成本更高。 我看到您的問題的最佳解決方案是: 1.將錯誤消息頁面重定向回調用頁面並顯示相應的錯誤。 2.使用ajax完成請求,並在調用表單上顯示錯誤。 – Chris
@ Chris-MayhemSoftware我是一個PHP noob,所以我不確定如何以這種方式顯示錯誤消息。你能詳細說明一下嗎? –