我正在使用啓用了PDO :: ERRMODE_EXCEPTION的Medoo(使用PDO的PHP DB框架)。我在try
和catch
塊中有一些查詢,如果其中任何查詢返回空結果,我想拋出一個異常。PDO - 如果其中任何一個查詢返回空結果
PS:$database->get()是一個簡單的PDO SELECT
返回一個單行。我不認爲這是相關的,我認爲我的例子也適用於沒有框架的PDO。
try {
$q1 = $database->get(..);
$q2 = $database->get(..);
$q3 = $database->get(..);
$q4 = $database->get(..);
} catch (PDOException $e) {
die ("There was an error in a query.");
}
現在我進入只有當有一個錯誤在查詢,就像我儘量選擇了一個不存在的表catch
塊。我想找到的最佳方式,以避免檢查,如果每一個查詢沒有手動返回一個空的結果,就像我不希望這樣做:
if (!$q1) { echo "No result"; }
if (!$q2) { echo "No result"; }
...
是否有一個更通用的方法?
如果你想捕捉一個異常,你必須先*拋*。 –
這不會讓我爲每個查詢手動執行嗎? – wiredmark
你有什麼想法嗎?您有一個自定義條件,您希望拋出異常。或者根據get()爲你創建另一個getOrFail()方法。 –