哪一部分(S)比方說,我有這樣的SQL語句來檢查用戶登錄:確定的WHERE語句失敗
SELECT * FROM users
WHERE username='[email protected]', password='abc123', expire_date>=NOW();
是否有SQL的方式來確定具體哪些WHERE條件達不到,不必須將每個條件分解爲自己的查詢並單獨測試?
在這個特定的例子中,開發人員可以準確地告訴用戶他們嘗試登錄失敗的原因。
爲了我的目的,我使用的是PHP/MySQL。
expire_date的時間部分可能小於NOW()中返回的值,導致查詢不返回您期望的結果。 – 2009-09-11 17:17:20
謝謝,我意識到,即使名稱有些誤導,該字段也會存儲時間。 – macinjosh 2009-09-11 17:19:37
你打算把失敗的原因傳給用戶嗎?這可能會讓黑客更容易獲得訪問權限。 – 2009-09-11 17:25:54