2012-08-29 41 views
-4

我想檢查一個有效的電子郵件地址,然後查看電子郵件地址是否在數據庫中。目前,驗證有效的電子郵件地址工作正常。但是,如果我輸入數據庫中的電子郵件地址(例如「[email protected]」),而不是回顯消息You have entered in the Correct Email Address,則會回覆完整的相反消息並回顯You entered in the Wrong Email Address。所以這讓我覺得即使我確定電子郵件地址在數據庫中,它也找不到數據庫中的電子郵件地址。它無法在數據庫中找到正確的電子郵件地址

所以我的問題是,爲什麼它不能找到數據庫中的電子郵件地址,並因此迴應我輸入了錯誤的電子郵件地址的消息?

下面是代碼(庫MySQLi/PHP):

if ((strlen($email) >= 7) && (strstr($email, "@")) && (strstr($email, "."))){ 

echo "You have entered in the Correct Email Address"; 

} 
else{ 
echo "You entered in the Wrong Email Address"; 
} 
+0

你需要添加錯誤處理和回顯變量; '$ numrows'包含什麼,'$ row'包含什麼等等。 – jeroen

+0

你不是在數據庫中發現數據庫中的電子郵件,而是在數據庫中找到指定用戶的電子郵件,並查看如果該電子郵件符合您的輸入。數據庫中存在電子郵件並不意味着它應該屬於該用戶。 – Passerby

回答

1
$query = "SELECT TeacherUsername, TeacherEmail FROM Teacher WHERE TeacherUsername = ?"; 

意味着你檢查輸入對TeacherUsername,不TeacherEmail。你可能想嘗試

$query = "SELECT TeacherUsername, TeacherEmail FROM Teacher WHERE TeacherEmail = ?"; 
相關問題