phpbar.de logo

Mailinglisten-Archive

mysql_result

mysql_result

Gloss Mathias mysql_(at)_lists.phpcenter.de
Wed, 28 Mar 2001 08:06:04 +0200


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