2013-11-04 28 views
0

現在我的網站上有一個sql語句,用於檢查數據庫中的活動值是否爲NULL,以便用戶登錄。我實現了輔助激活方法,現在我有兩個活動字段:active和active2。下面是我目前使用的sql語句,但是現在我需要它來反映兩個字段。用於驗證兩個值是否爲NULL的SQL語句

$q = "SELECT * FROM users WHERE (email='$e' AND pass=SHA1('$p')) AND active IS NULL"; 

我試過CONCAT,但我不認爲這是正確的語法,因爲它似乎沒有工作。

$q = "SELECT * FROM users WHERE (email='$e' AND pass=SHA1('$p')) AND CONCAT(active, active2) IS NULL"; 

我需要在我的sql語句來檢查主動和ACTIVE2領域,看看他們是否爲空,如果爲空,則用戶可以登錄,現在其只檢查第一個活躍的領域。感謝任何幫助。

+2

什麼是錯的'...和積極的IS NULL和IS ACTIVE2 NULL'? –

回答

0

我認爲應該是:

$ Q =「SELECT * FROM用戶WHERE(電子郵件= '$ E',並通過= SHA1( '$ P'))AND (主動爲null) AND(active2 IS NULL)「;

0

您也可以使用COALESCE()

$q = "SELECT * FROM users WHERE (email='$e' AND pass=SHA1('$p')) AND COALESCE(active, active2, NULL) IS NULL";