Guten Tag liebe Fische,
aufgrund dieses Threads ( *Klick*) wollte ich nun mal das "Mysterium" um mysql_fetch_array & mysql_fetch_object klären.
Vorweg: Wenn man sich nicht schon mal mit der Materie PHP & MySQL auseinander gesetzt hat ist das hier nichts für einen ;). Ich berichte hier Erfahrungswerte, an die lieben Hater die mich lieben: Danke für den Klick auf den Thread, das ganze ist extra nur für Laien geschrieben...
Um nun mal zu dem "Tutorial" zu kommen:
Wie viele sicherlich schon kennen gelernt haben gibt es 5 Möglichkeiten um eine MySQL Referenz zu "fetchen":
-Mysql_fetch_array
-mysql_fetch_assoc
-mysq_fetch_object
-mysql_fetch_row(Wird nicht so häufig verwendet)
-mysql_fetch_field(Wird nicht so häufig verwendet)
Wobei mysql_fetch_array und mysql_fetch_assoc so ziemlich das gleiche sind bis die Parameteranzahl.
[tabmenu]
[tab=MySQL Fetches]
[subtab=Wichtig!] Wir gehen nun davon aus das bereits eine Datenbank + Tabelle erstellt wurde und eine Verbindung zwischen php und mysql hergestellt wurde(mysql_connect & co)
[subtab=mysql_fetch_array]
<?php
$query = mysql_query("SELECT * FROM `testtabele` WHERE `id`= '1'");
$array = mysql_fetch_array($query, MYSQL_ASSOC);
echo $array['name']; // gibt aus: Hans Peter
?>
PHP.net: mysq_fetch_array
[subtab=mysql_fetch_assoc]
<?php
$query = mysql_query("SELECT * FROM `testtabele` WHERE `id`= '1'");
$array = mysql_fetch_assoc($query);
echo $array['name']; // gibt aus: Hans Peter
?>
PHP.net: mysq_fetch_assoc
[subtab=mysql_fetch_object]
<?php
$query = mysql_query("SELECT * FROM `testtabele` WHERE `id`= '1'");
$array = mysql_fetch_object($query);
echo $array->name; // gibt aus: Hans Peter
?>
PHP.net: mysq_fetch_object
[subtab=mysql_fetch_row]
<?php
$query = mysql_query("SELECT * FROM `testtabele` WHERE `id`= '1'");
$array = mysql_fetch_row($query);
echo $array[0]; // gibt aus: 1
echo $array[1]; // gibt aus: Hans Peter
?>
PHP.net: mysq_fetch_row
[subtab=mysql_fetch_field]
<?php
$query = mysql_query("SELECT * FROM `testtabele` WHERE `id`= '1'");
$array = mysql_fetch_field($query);// hat noch einen weiteren parameter: field_offset siehe dazu referenz
echo $array->id; // gibt aus: 1
echo $array->name; // gibt aus: Hans Peter
?>
Ist sehr ähnlich mit "mysql_fetch_object"
PHP.net: mysq_fetch_field
[/tabmenu]
Einen anderen Unterschied gibt es da nicht bis auf die Verwendung der Variable.
Das war der kleine Unterschied
Mit freundlichen Grüßen