2015-02-11 47 views
-1

我對PHP相當陌生,而且我一直在Google上搜索以查明代碼有什麼問題,但我無法找到符合輸出的代碼我想了;讓您更好地瞭解我的問題,我已經寫下了我的代碼。PHP中的if ... else語句中的第三個條件無法訪問

<?php 
if (empty($lname) && empty($fname)) { 
    echo"WARNING: Unable to save information, Blank fields found, Enter N/A if it is not applicable for the employee."; 
} else if ($query) { 
    echo"WARNING: Unable to save information, Employee already exist in the database."; 
} else if ($save) { 
    echo"$fname&nbsp;$lname's personal information saved succesfully."; 
} 
?> 

第一個條件檢查該值是否爲空,則第二條件檢查值已經存在於數據庫中,並且如果上述兩個條件不爲真第三條件保存的值。

如果我一次只運行一個條件,所有這三個條件都可以工作,但是當我使用if ... else語句將它們放在一起時,第三個條件不起作用。

我想問你的幫助和啓發我在代碼上錯過了什麼。

+0

'$ query'的值是什麼? – 2015-02-11 01:14:50

+0

@john conde $ query是一個sql查詢。 $ select =「SELECT EXISTS(SELECT LNAME,FNAME FROM perinfo WHERE LNAME ='$ lname'&& FNAME ='$ fname'LIMIT 1)」; $ query = mysql_query($ select,$ con); – 2015-02-11 01:16:02

+1

SQL查詢聽起來不太錯誤,是嗎? [成功時返回true,錯誤時返回false](http://php.net/manual/en/function.mysql-query.php#refsect1-function.mysql-query-returnvalues)。空白結果集仍然是一個成功的查詢。 – sjagr 2015-02-11 01:16:55

回答

0

您錯誤地使用了$query。使用mysql_num_rows從您SELECT查詢來檢查返回的行數:

if (empty($lname)&&empty($fname)) { 
    echo "WARNING: Unable to save information, Blank fields found, Enter N/A if it is not applicable for the employee."; 
} else if (mysql_num_rows($query) > 0) { 
    echo "WARNING: Unable to save information, Employee already exist in the database."; 
} else if ($save) { 
    echo "$fname&nbsp;$lname's personal information saved succesfully."; 
} 

請注意mysql_*方法已過時,應該用更現代化的圖書館所取代。您可以通過一些快速搜索和查看PHP文檔找到很多很多主題(請參閱上面引用的mysql_num_rows鏈接中的紅色框?)

+0

感謝您花時間在此;通知和保存現在正常工作,但由於某種原因每次每個語句都滿足時它會保存我輸入的信息在這裏可能會出現什麼錯誤?只有第三個條件應該保存信息爲什麼是這樣的? – 2015-02-11 01:30:33

+0

@ErphilCatama不在你原來的問題範圍內,對不起。你必須發佈一個新的問題,解釋保存行爲的相關代碼(這個問題沒有。) – sjagr 2015-02-11 01:33:19

+0

好吧,不用擔心,我會認爲你的幫助是非常感謝,新的堆棧溢出所以請不要投票下來:( – 2015-02-11 01:36:38