2017-07-05 74 views
-1

我不知道我是否正確執行此操作。PDO在if語句中執行

這就是問題所在:

if ($result->execute() && $result2->execute()){} 

這是不是可以做或沒有?

我的目標是隻有在兩個查詢都有效的情況下才能在IF中執行某些操作。

我在網上找不到任何關於此的信息。

+1

您好,歡迎堆棧溢出,請仔細閱讀如何創建[最小,完整,可驗證的示例](https://stackoverflow.com/help/mcve),並且檢查[如何提出好的問題](https://stackoverflow.com/help/how-to-ask),這樣你可以增加獲得反饋和有用答案的機會。 – DarkCygnus

+0

請注意,查詢仍被視爲成功,即使它沒有找到任何匹配的行。失敗就像語法錯誤或與數據庫服務器通信的問題。 – Barmar

回答

0

你當然可以做到這一點。 PDO的​​聲明在成功時返回true,並在失敗時返回false。我會稍微改變一下這種風格,這樣更容易閱讀,但沒有理由不能做到這一點。

$success1 = $result->execute(); 
$success2 = $result2->execute(); 

if ($success1 and $success2) { 
    // Do stuff here on failure 
} 
else { 
    // Do stuff on failure here 
} 
+0

謝謝,我有一個關於「和」的快速問題。 「和」和&&有什麼區別嗎? – SuperRadio

+0

@SuperRadio:'和'和'&&'在php中是等效的。我更喜歡使用關鍵字'和',因爲它稍微容易閱讀。 – Jacobm001

+0

我個人認爲它在IF中更好,因爲一旦條件之一爲false,PHP停止評估條件,這意味着如果第一個查詢失敗,第二個甚至不會運行,在外部它總是會運行兩個查詢,但這取決於他們打算做什麼之後,當然......但是我會用'&&'而不是'和'看起來很奇怪'lol' – ArtisticPhoenix