我不知道我是否正確執行此操作。PDO在if語句中執行
這就是問題所在:
if ($result->execute() && $result2->execute()){}
這是不是可以做或沒有?
我的目標是隻有在兩個查詢都有效的情況下才能在IF中執行某些操作。
我在網上找不到任何關於此的信息。
我不知道我是否正確執行此操作。PDO在if語句中執行
這就是問題所在:
if ($result->execute() && $result2->execute()){}
這是不是可以做或沒有?
我的目標是隻有在兩個查詢都有效的情況下才能在IF中執行某些操作。
我在網上找不到任何關於此的信息。
你當然可以做到這一點。 PDO的聲明在成功時返回true
,並在失敗時返回false
。我會稍微改變一下這種風格,這樣更容易閱讀,但沒有理由不能做到這一點。
$success1 = $result->execute();
$success2 = $result2->execute();
if ($success1 and $success2) {
// Do stuff here on failure
}
else {
// Do stuff on failure here
}
謝謝,我有一個關於「和」的快速問題。 「和」和&&有什麼區別嗎? – SuperRadio
@SuperRadio:'和'和'&&'在php中是等效的。我更喜歡使用關鍵字'和',因爲它稍微容易閱讀。 – Jacobm001
我個人認爲它在IF中更好,因爲一旦條件之一爲false,PHP停止評估條件,這意味着如果第一個查詢失敗,第二個甚至不會運行,在外部它總是會運行兩個查詢,但這取決於他們打算做什麼之後,當然......但是我會用'&&'而不是'和'看起來很奇怪'lol' – ArtisticPhoenix
您好,歡迎堆棧溢出,請仔細閱讀如何創建[最小,完整,可驗證的示例](https://stackoverflow.com/help/mcve),並且檢查[如何提出好的問題](https://stackoverflow.com/help/how-to-ask),這樣你可以增加獲得反饋和有用答案的機會。 – DarkCygnus
請注意,查詢仍被視爲成功,即使它沒有找到任何匹配的行。失敗就像語法錯誤或與數據庫服務器通信的問題。 – Barmar