login  Naam:   Wachtwoord: 
Registreer je!
 Overzicht:
Overzicht > PHP > MySQL > mysql_fetch_object()

Gebruik:
object mysql_fetch_object ( resource result [, int result_type])

Uitleg:

De functie mysql_fetch_object() geeft een object terug met eigenschappen die corresponderen met die opgehaalde rij. Dit object kan je later weergeven als $obj->kolom.


Wat betreft snelheid is de functie identiek aan mysql_fetch_array(), en bijna even snel als mysql_fetch_row() (het verschil is verwaarloosbaar).




Voorbeeld:
We hebben een tabel 'namen':

id      Naam      Leeftijd

1       Filip       13
2       Walter      21
3       Dirk        16

Voorbeeld van gebruik:

<?php 
  mysql_connect
("localhost""dbuser""dbpass"); 
  
mysql_select_db("dbname"); 

  
$query mysql_query("SELECT Naam,Leeftijd FROM Namen"); 
  while (
$obj mysql_fetch_object($query)) { 
    echo 
"Naam:" $obj->Naam ","
    echo 
"leeftijd:" $obj->Leeftijd ".<br />"
  } 
?> 


Dit zal de volgende output genereren:

Naam: Filip, leeftijd: 13.
Naam: Walter, leeftijd: 21.
Naam: Dirk, leeftijd: 16.

Bijdragen :
Richard
Citaat:
Haytes:

bron (http://be.php.net/manual/en/function.mysql-fetch-array.php):
Performance: An important thing to note is that using mysql_fetch_array() is not significantly slower than using mysql_fetch_row(), while it provides a significant added value.


lol dit citaat is geen bewijs, aangezien het niet over _fetch_object gaat.

ff benchmark gedraaid:

float(4.6968460083E-5) -- mysql_fetch_object
float(1.71661376953E-5) -- mysql_fetch_assoc

duidelijk?
Thomas
Neemt niet weg dat fetch_object nog steeds suf is ;).
Richard
Citaat:
Wat betreft snelheid is de functie identiek aan mysql_fetch_array(), en bijna even snel als mysql_fetch_row() (het verschil is verwaarloosbaar).


Ik heb nog nooit grotere onzin gehoord. *_fetch_object is vreselijk traag, VEEL trager dan beide andere varianten. fetch_row is het snelst (met relatief grote voorsprong), daarna assoc, dan array, dan object (met grote achterstand).

Citaat:
edit by Haytjes:
Wat je zegt is fout. Alle mysql_fetch_* zijn zo goed als evensnel. Dit wordt op de php-site gezegd. Ik kan wel geloven dat jij je vergist met iets anders. Het is wel zo, dat 'object' en 'array' veel meer resources gebruiken en dus meer ruimte op je ram-geheugen van je server vraagt, waardoor je de pagina minder keren moet aanroepen voordat je ram-geheugen vol zit EN hierdoor moet PHP dus wachten tot het andere stukje ram-geheugen vrij is, voordat hij verder kan doen en je dus kan zeggen dat 'object' en 'array' trager zijn. WAT NIET ZO IS. Net hetzelfde is een array maken met 1.000.000 nodes, dat zal ook niet traag gaan, maar als je het meerdere keren tegelijk aanroept (boven de 1000 keren), zal je ook merken dat het trager gaat gaan werken.

bron (http://be.php.net/manual/en/function.mysql-fetch-array.php):
Performance: An important thing to note is that using mysql_fetch_array() is not significantly slower than using mysql_fetch_row(), while it provides a significant added value.


Thomas
Dit is "OOP voor de vorm" en heeft weinig van doen met objectgeoriënteerd programmeren.
Ik zou daarom niet deze functie gebruiken om result-sets op te halen, maar het alternatief mysql_fetch_row() of mysql_fetch_assoc().
mysql_fetch_array() is ook een beetje suf, omdat deze weer uiteenvalt in een variant die hetzelfde doet als mysql_fetch_row(), en een variant die hetzelfde doet als mysql_fetch_assoc().
Je hebt dus IMO maar twee nuttige "smaken": fetch_row en fetch_assoc.


 Overzicht
mysql_close()
mysql_connect()
mysql_error()
mysql_fetch_array()
mysql_fetch_assoc()
mysql_fetch_object()
mysql_fetch_row()
mysql_free_result()
mysql_get_server_...
mysql_insert_id()
mysql_list_dbs()
mysql_list_fields()
mysql_list_tables()
mysql_num_fields()
mysql_num_rows()
mysql_query()
mysql_result()
mysql_select_db()
mysql_stat()



© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.018s