无法在PHP上返回SQL选择计数

时间:2014-04-28 23:41:44

标签: php mysql sql pdo

所以我有这个代码来计算'指南'通过计算表格上的ID数量。

    function getGuideCount() {
  global $db;
  $query = $db->query("SELECT COUNT(id) AS count FROM kk_hq_guides ");
  $fetch = $query->fetchAll(PDO::FETCH_ASSOC);
  return $fetch;
}

我将值返回到vardump,我得到了这个:

array(1) { [0]=> array(1) { ["count"]=> string(2) "36" } } Array

这是正确的,我有一个带有键的数组' Count'存储指南数量。​​

当我尝试打印该值时会出现问题。

$guideCount=getGuideCount();    
print($guideCount['count']);

导致以下错误:

Notice: Undefined index: count in ... on line 130. (Line 130 is this:  return $fetch;  )

提前非常感谢!

2 个答案:

答案 0 :(得分:2)

$guideCount[0]['count']

$guideCount数组中的第一项是一个数组,其中包含一个键为'count'的元素。

答案 1 :(得分:0)

首先,全局变量真的很糟糕。相反,将依赖项传递到所需的位置。

其次,您的查询只会返回包含一列的一行,因此fetchAll是多余的。

试试这个......

function getGuideCount(PDO $db) {
    $query = $db->query("SELECT COUNT(id) FROM kk_hq_guides ");
    return $query->fetchColumn();
}

...然后

$guideCount = getGuideCount($db);
echo $guideCount;