phpbar.de logo

Mailinglisten-Archive

[php] PDO rowCount

[php] PDO rowCount

Yannik Hampe yannik at cipher-code.de
Mon Mai 7 19:54:01 CEST 2007



Martin Adler wrote:
> Hallo Liste,
>
> Natürlich kann ich statt mit fetch() ein fetchAll() durchführen und dann 
> das Array mit count() durchzählen lassen ... aber wäre dies die einzige 
> sichere Möglichkeit?

Es ist in jedem Fall eine Möglichkeit und dabei keine schlechte. Die
Lösung verbraucht zwar mehr RAM, aber weniger CPU. Bei kleinen Selects,
wie es bei php meistens üblich ist (zumindest, wo es dich interessiert,
wieviele Ergebnisse zurückkamen sind die Ergebnisse eh klein und daher
auch keine grosse Belastung). Übrigens cachen die mysql_* Funktionen
auch  per Standard alle Select-Ergebnisse :-)).

> 
> 
> Ein anderer Punkt, welcher mich nur beiläufig interessieren würde, wäre 
> ob es eine Vergleichbare Methode existiert wie "mysqli_stmt_bind_result().

Schau doch in der Funktionsübersicht nach:
http://de3.php.net/manual/en/ref.pdo.php
Wenn du dir die Mühe machst in der Funktionsliste mal zu schauen, was es
so gibt, findest du auch, was du suchst:
http://de3.php.net/manual/en/function.PDOStatement-bindColumn.php
Wobei ich dir herzlich davon abrate solche Funktionen zu verwenden. Du
selbnst weisst zwar vielleicht, welche Vars du an welche Spalten
gebunden hast, aber spätestens, wenn ein fremder Programmierer deinen qt
liest kann es ganz schön verwirrend sein, wenn du in einer Schleife mit
fetch() jedesmal scheinbar auf eine sich nicht ändernde Variable zugreifst.
Schreib' lieber in deinen SQL-Query zu den Feldern immer AS name:
SELECT col AS mycol FROM ...
Und hol' dir dann die Daten assoziativ.
> 
> herzlichen Dank und viele Grüße
> Martin Adler

Yannik

php::bar PHP Wiki   -   Listenarchive