我有一个从MySQL数据库中获取行的while循环。
但我想检查是否有行,如果表是空的,则回显错误。
我有一种肮脏的方式:
while($row = $fetch->fetch( PDO::FETCH_ASSOC ) $random[] = $row['a_column'] ) {
if (count($random) == 0) {
echo ' It's empty... ';
} else {
echo $row['a_column'];
}
问题是我有很多专栏,我确信这是一种极其肮脏的方式。
问题
我正在使用PDO而且我不确定如何检查表中是否有任何行..
问题
我如何发现该表不包含任何行,如果不包含,则回显错误..如果是,则回显a_column的结果?
谢谢!
答案 0 :(得分:0)
您可以使用$fetch->columnCount()
。如果没有结果,则会返回0
。也可以使用$fetch->rowCount()
,但手册不建议SELECT
语句。
答案 1 :(得分:0)
你必须以最直接的方式做到这一点,但由于某种原因你做出了最复杂的方式 你真正需要的是
所以,你走了
//to get data from DB
$data = $fetch->fetchAll();
//to check if you got any
if (!$data) {
// It's empty
} else {
// to use the data
foreach ($data as $row){
//use it
}
}