PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [SQL] fetch_array / fetch_assoc



Pitchater
28.07.2009, 20:58
Hallo Leute,

Ich möchte mich nun ein wenig mehr mit der PHP/MySQL programmierung befassen.

Hierzu habe ich mal eine grundlegende Frage.

Es geht um die DB abfragen fetch_array oder fetch_assoc.

Worin liegt der Unterschied?
was wird wann aufgerufen?

Hilfreich wäre auch, wenn mir mal jemand sagen könnte, wofür fetch_array und fetch_assoc im Ausgeschriebenen Sinn bedeutet. Denn Ich denke das sind Kürzel für bestimmte Befehle.

Es wäre schön, wenn mich da mal jemand auf die Sprünge helfen könnte.

Viele Grüsse
Peter

Parl
28.07.2009, 21:17
Sind beides von der Funktion her das selbe.

Der einzige Unterschied ist, dass fetch_assoc nur ein assoziatives Array liefert, welches mit z.b. nur $var['spalte'] angesprochen werden kann.

bei fetch_array kannst du die jeweiligen Spalte auch mittels numerischen Zeiger aufrufen wie z.b.
$var[0] (für die erste Position im Array)

Nimm also am besten immer mysql_fetch_array, dann kannste in der Hinsicht nix falsch machen. :-)

MFG

Sebmaster
28.07.2009, 21:19
Nimm also am besten immer mysql_fetch_array, dann kannste in der Hinsicht nix falsch machen. :-)

Darüber lässt sich aber sehr streiten:suspicious:

Parl
28.07.2009, 21:31
Meinte das auch eigentlich nicht grundsätzlich. *g*
Bin jetzt davon ausgegangen, dass wenn man ein bereits existierendes Script bearbeitet, und nicht weiss, wie später mit den Variablen verfahren wird, fetch_array da die bessere Wahl ist.

Wenn man weiss wofür man welche Methode gebrauchen kann dann sollte das ja klar sein. Dass assoc() schneller ist, ist klar. :biggrin1:

Sebmaster
28.07.2009, 21:33
Meinte das auch eigentlich nicht grundsätzlich. *g*

Sag das doch:biggrin1:


Bin jetzt davon ausgegangen, dass wenn man ein bereits existierendes Script bearbeitet, und nicht weiss, wie später mit den Variablen verfahren wird, fetch_array da die bessere Wahl ist.

Überweigends, aber im VMS hab ich die Notwendigkeit von fetch_array noch nie gesehen gleub ich *denk*


Dass assoc() schneller ist, ist klar. :biggrin1:

Nur marginal, aber Kleinvieh macht auch Mist, und wenn man die Zahlen nicht braucht, ist es wahrscheinlich besser so:yes:

tampulin
28.07.2009, 22:03

eRaaaa
30.07.2009, 02:54
mysql_fetch_row.php 310.897048 s 310.897 ms 100 %
mysql_fetch_assoc.php 319.98842 s 319.099 ms 103 % (+ 3%)
mysql_fetch_array.php 328.532407 s 328.532 ms 106 % (+ 6%)


http://phpperformance.de/einen-datensatz-aus-einem-result-set-laden/

:D