0

次のようなPHP関数があります。

function count_creatives() {
    global $db;
    $q = "SELECT COUNT(DISTINCT creative) FROM actions";
    return $db->query($q);
}

$db 変数には PDO オブジェクトが含まれており、正しく設定されています (他の場所で正常に使用されています)。

この関数の結果を変数に割り当てようとすると、クエリ文字列のみが含まれます (結果はありません)。

私が実行しているコード:

$count = count_creatives();

echo $count;

出力:

PDOStatement Object ( [queryString] => SELECT COUNT(DISTINCT creative) FROM actions )

実際のカウント (2、3、100 など) を取得できない理由がわかりませんか?

4

2 に答える 2

1

PDO::query()は PDOStatement オブジェクトを返すか、失敗すると FALSE を返します。次のようなことをする必要があります。

function count_creatives() {
    global $db;
    $q = "SELECT COUNT(DISTINCT creative) FROM actions";
    $query = $db->query($q);
    return $query->fetch(PDO::FETCH_NUM)[0];
}
于 2013-10-30T14:22:23.350 に答える