phpbar.de logo

Mailinglisten-Archive

[php] In Query-Ergebnis keine korrekten Feldnamen?

[php] In Query-Ergebnis keine korrekten Feldnamen?

Oliver Kummerow naklar_(at)_altavista.net
Fri, 27 Aug 1999 09:16:23 +0200


> > Wenn die Query z.B. so lautet: "SELECT count(*) FROM tabelle", dann kann
> > man
> > mit $row = mysql_fetch_array($query, MYSQL_ASSOC); die Zahl der
> > Datensätze sehen mit $row["count(*)"]. Jetzt hoffe ich nur noch, daß ich
> > niemanden verunsichert habe.
> 
> Ich zaehle die immer mit mysql_fetch_row($res); $row[0]
> Beim gleich SQL wie du es oben benutzt hast....

$row[0] ist bei eindeutigen Result Sets mit nur einem Feld und einem
Datensatz sicher das optimale Verfahren. 
Wenn es mehrere Felder auf Basis von SQL- oder MySql-Funktionen gibt,
sollte man sich das Alias-en angewöhnen. Ansonsten gibt es
Schwierigkeiten, z.B:
 SELECT count(*), concat("blah","blubb")
 FROM table

Dann heissen die Spalten mit mysql_fetch_array völlig SQL-normgerecht: 
 $row ["count(*)"]
 $row["concat("blah","blubb")"]

Mit Aliasen
 SELECT count(*) AS gesamtzahl, concact("blah","blubb") AS zusatztext
 FROM table

kommst Du "humaner" an das Ergebnis mit
 $row ["gesamtzahl"]
 $row["zusatztext"]


Mit $row[0..n] vermeidest Du alle diese Fragen, hast aber bei großen
Relationen ein echtes Problem, vorauszusagen, in welcher Spalte welches
Ergebnisfeld zu erwarten ist.


Mit freundlichen Grüßen,
Oliver Kummerow
email: naklar_(at)_altavista.net


php::bar PHP Wiki   -   Listenarchive