nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

PDO mysql count(*) verträgt sich nicht mit prepared statement

Von: benKu (benjaminkurz@gmail.com) [Profil]
Datum: 16.02.2008 22:12
Message-ID: <f8ae990d-25ff-4275-ab37-3777a270c39c@n75g2000hsh.googlegroups.com>
Newsgroup: de.comp.lang.php.datenbanken
Hallo,

ich habe gerade leider ein Problem mit PDO. Ich versuche letztlich nur
per select count() die Anzahl der Datensätze herauszufinden.

Mein Code sieht folgendermaßen aus:

$dbSelect = $objDb->prepare("SELECT COUNT(*) as count from comments
where typid = ?");
$dbSelect->bindValue(1, $id);
$dbSelect->execute();
$dbAnzahlResult = $dbSelect->fetchAll();

foreach($dbAnzahlResult as $row2) {
$anzahlCom = $row2['count'];
}

Die Variable $anzahlCom ist allerdings immer 0. Auch wenn eigentlich 5
Datensätze gefunden werden sollten.
Ich habe es bereits mit :id als Platzhalter versucht und ebenso mit
bindParam.

Setze ich das Statement mit query() ab, also:
$dbSelect = $objDb->query("SELECT COUNT(*) as count from comments
where typid = ".id);
So enthält $anzahlCom den richtigen Wert.

Ich würde allerdings sehr gerne preparedStatements benutzen.
Ich weiß einfach nicht wo ich ansetzen soll den Fehler zu suchen.
Lasse ich mir errorInfo() ausgeben, werden keine Fehler angezeigt.
Vertragen sich preparedStatements nicht mit count?

Wäre super, wenn mir jemand weiterhelfen könnte.
Vielen Dank im Voraus.

Viele Grüße
Benjamin

[ Auf dieses Posting antworten ]

Antworten