Mailinglisten-Archive |
Morgaehn, > ---------- > Von: Alain Nicolas Lavanchy[SMTP:alain_lavanchy_(at)_yahoo.com] > > <<Datei: Alain Nicolas Lavanchy.vcf>> > *grumpfs etwas* > Ich habe das Problem, dass ich die einzelnen Felder aus einer SQL-Suche > herauslesen muss. Ich mache dass nun mit dem Befehl mysql_result($result, > $i, feldname), wobei $i in einer while-Schleife herausgezählt wird. Ich > habe > nun gelesen, dass dieser Befehl langsam ist. Wie kann ich ihn ersetzen ? > mit dem mysql_result kannst du dich kreuz und quer durch die Ergebnismenge bewegen (innerhalb der erlaubten Grenzen natürlich). Das is zwar praktisch, aber nicht sonderlich Performant (steht irgendwo, ich habs noch nicht ausprobiert ;) "Normalerweise" macht man das so in php: $s_dbh = mysql_connect(....); $s_query = 'select * from tabelle'; $s_sth = mysql_query($query, $dbh); und dann entweder: while ($h_erg = mysql_fetch_array($s_sth) ) { echo '<br>Spalte1: ' . $h_erg['spalte1']; .... } oder: while ($a_erg = mysql_fetch_row($s_sth) ) { echo '<br>Spalte1: ' . $a_erg[0]; .... } Warum mysql_fetch_array ein Hash zurückliefert und mysql_fetch_row ein Array, wissen nur die Götter. Vermutlich hat das Historische Gründe. Oder wie SAP-Entwickler dann zu ihrem Produkt sagen: Dies ist eine kleine Unschärfe *g* Ich persönlich nehm lieber mysql_fetch_array, weil man dann die Ergebnisse über die Spaltennamen ansprechen kann. Das ist dann unkritisch, wenn in die Tabelle mal noch weitere Spalten eingefügt werden und sich da- durch unter Umständen die Reihenfolge ändert. Aber auch wenn man nach einiger Zeit wieder in sein Programm schaut, ist es durchschaubarer was sich hinter $h_erg['benutzername'] verbirgt als unter $a_erg[4]. Viele Grüße, Mathias PS: Und verzeiht, wenn kein Referenz-Header in der Mail ist, aber wir ham hier noch den Exchange-Client,.... und der kann nicht so wirklich alles. Dummerweise kann ich mir das nicht aussuchen :-( --- *** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive