如何使用PHP中的PDO检查我的结果集是否为空?如何使用PHP的PDO检查数据库查询返回的结果
$SQL = "SELECT ......... ORDER BY lightboxName ASC;";
$STH = $DBH->prepare($SQL);
$STH->bindParam(':member_id', $member_id);
$STH->execute();
$STH->setFetchMode(PDO::FETCH_ASSOC);
while($row = $STH->fetch()) {
$lightbox_name = $row['lightboxName'];
$lightbox_id = $row['lightboxID'];
echo '<option value="'.$lightbox_id.'">'.$lightbox_name.'</option>';
}
我用来做这样的:
$result = mysql_query("SELECT ...... ORDER BY lightboxName ASC;");
if(!$result) { echo 'No results found!'; }
但刚刚使用PDO和准备语句和检查,对$STH
似乎并不如预期的工作开始了 - 它总是具有价值!
完美。按预期工作。我只是读这个,另一种方法是使用columnCount()。你认为rowCount()和columnCount()之间存在性能差异吗? – ShadowStorm
@ShadowStorm columnCount()'应该超快,但是如果可用的话,还是'rowCount()'。你必须进行测试才能确定。 – jeroen
我发现'columnCount()'效果最好,因为它会在我所有的测试用例下返回'0'。 'rowCount()'通常返回修改过的行并抛出我的逻辑。 – Ben