PDO - 如果其中任何一个查询返回空结果
问题描述:
我正在使用启用了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()方法。 –