mysql_result Erklärung

pnx

Mitglied
Was passiert eigentlich genau bei :
PHP:
$result = mysql_query("SELECT * FROM $tab");
$name = mysql_result($result, $i, "name");

Ist das dann das gleiche wie:

PHP:
$name  = mysql_query("SELECT name FROM $tab");

Ich möchte vorallem wissen, ob bei der ersten Variante die ganze Tabelle abgefragt wird auch wenn am Ende dann nur die Spalte "name" benötigt würde, oder ob quasi der * bei SELCET dann durch "name" ersetzt wird, und somit nur die Spalte abgefragt wird.
 
Also grundsätzlich fragst du mit SELECT * FROM ... erstmal alle Felder der Tabelle ab. Wenn du nur bestimmte Felder abfragen möchtest, dann liste diese einzeln (durch Komma getrennt) nach dem SELECT auf.
 
Dass man das auch so machen kann ist mir klar, allerdings brauch ich das in der Form wie oben beschrieben.

Meiner Meinung nach wird ja die Selectabfrage erst gestartet wenn die variable $result aufgerufen wird. Also wäre es doch möglich, dass eben der * durch das gewünschte Feld ersetzt wird.
 
Eine Select Abfrage liefert ,nachdem sie ausgefpghrt wurde unter PHP ersteinmal eine Ressourceid zurück.
Diese wird dann per mysql_Fetch_array() (etc) verarbeitet.
Daher gibt es afaik keine andere Möglichkeit und diene Idee wird scheitern ; Probiers aus.
 
Das Ding funktioniert, habs schon verbaut. Allderings möchte ich eben genauer wissen was passiert. Weil wenn immer die ganze Tabelle abgefragt wird belastet das sicher eher die Performence.
 
Zurück