Assoc of Array
Beste,
Sorry deze vraag zal al vaker gesteld zijn,
Maar wat is juist het verschil tussen al die mysql_fetch dingen...
want naar mijn ervaring zijn die allemaal hetzelfde met maar 1 verschil namelijk je typte ze anders...
en welke kan ik best gebruiken?
Sorry deze vraag zal al vaker gesteld zijn,
Maar wat is juist het verschil tussen al die mysql_fetch dingen...
want naar mijn ervaring zijn die allemaal hetzelfde met maar 1 verschil namelijk je typte ze anders...
en welke kan ik best gebruiken?
Gesponsorde koppelingen:
mysql_fetch_assoc vind ik de beste keuze. Die is op 1 na de snelste, maar je kunt dan met associatieve arrays werken, en dan leest je code lekkerder.
Edit: ik heb er ooit een testje voor geschreven: MySQL fetch performance test
Edit: ik heb er ooit een testje voor geschreven: MySQL fetch performance test
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
Zie php.net
@jan
thnx
@santhe
was ik aan het kijken
maar ziet er 2 keer zelfde uit naar mijn weten
@polheron
==
Ik houd persoonlijk van de array notatie: $rs['test']
==
hoe bedoel je??
is het bij een assoc dan anders?
de output is toch hetzelfde bij beide?
thnx
@santhe
was ik aan het kijken
maar ziet er 2 keer zelfde uit naar mijn weten
@polheron
==
Ik houd persoonlijk van de array notatie: $rs['test']
==
hoe bedoel je??
is het bij een assoc dan anders?
de output is toch hetzelfde bij beide?
Gewijzigd op 01/01/1970 01:00:00 door Matthias
Kwestie van smaak.. 'k zou niet weten hoe ze verhouden qua performance, maar ik denk dat het weinig zal verschillen.
Ik houd persoonlijk van de mysql_fetch_assoc; zodat je kunt zeggen: $rs['test'].
Dan kunnen er namelijk rare karakters in een kolomnaam als dat wenselijk/noodzakelijk is (al raad natuurlijk iedere database-ontwerper dat sterk af). Ook kun je de aanroep dan zo complex maken als je zelf wilt.
of zo
Voor OOP-liefhebbers heeft mysql_fetch_object $rs->test natuurlijk ook z'n charme.
Ik houd persoonlijk van de mysql_fetch_assoc; zodat je kunt zeggen: $rs['test'].
Dan kunnen er namelijk rare karakters in een kolomnaam als dat wenselijk/noodzakelijk is (al raad natuurlijk iedere database-ontwerper dat sterk af). Ook kun je de aanroep dan zo complex maken als je zelf wilt.
of zo
Voor OOP-liefhebbers heeft mysql_fetch_object $rs->test natuurlijk ook z'n charme.
Gewijzigd op 01/01/1970 01:00:00 door Martijn Wieringa
mysql_fetch_assoc is gemiddeld twee keer zo snel als mysql_fetch_object, vandaar mijn keuze.
Pholeron schreef op 06.11.2009 21:49:
Ik houd persoonlijk van de array notatie: $rs['test']. Dan kunnen er namelijk rare karakters in een kolomnaam als dat wenselijk/noodzakelijk is
Dat is natuurlijk niet zomaar waar.
Dat werkt pas als je in mysql de (verfoeide) backtics gebruikt.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
@Jan Koehoorn
Interessante test die je daar hebt uitgevoerd!
Interessante test die je daar hebt uitgevoerd!
om eventjes op te gaan in de tests van jan,
hoe kan bij select het * een cijfer zijn?
en tabel mag toch niet beginnen met een cijfer laat staan een cijfer zijn
hoe kan bij select het * een cijfer zijn?
en tabel mag toch niet beginnen met een cijfer laat staan een cijfer zijn
Gewijzigd op 01/01/1970 01:00:00 door Matthias
Waar zie jij dat cijfer? Behalve dan het woord 'cijfer'?
SELECT cijfer
Tijd: 0.789577960968
Tijd: 0.798079967499
Tijd: 0.802412033081
daar?
hoe kan dat???
Tijd: 0.789577960968
Tijd: 0.798079967499
Tijd: 0.802412033081
daar?
hoe kan dat???
SELECT cijfer <= dit is een woord en geen 4 of 7
en
Tijd: 0.789577960968 <= is de tijd van het testresultaat.
en
Tijd: 0.789577960968 <= is de tijd van het testresultaat.
@ Matthias: een veldnaam mag ook geen gereserveerd woord zijn, dus dit is fout:
SELECT gereserveerd_woord
;-)
SELECT gereserveerd_woord
;-)
Jan Koehoorn schreef op 06.11.2009 23:21:
@ Matthias: een veldnaam mag ook geen gereserveerd woord zijn, dus dit is fout:
SELECT gereserveerd_woord
;-)
SELECT gereserveerd_woord
;-)
En dan bedoelt Jan deze: http://www.htmlite.com/mysql002a.php
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Jan Koehoorn schreef op 06.11.2009 21:43:
mysql_fetch_assoc vind ik de beste keuze. Die is op 1 na de snelste, maar je kunt dan met associatieve arrays werken, en dan leest je code lekkerder.
Edit: ik heb er ooit een testje voor geschreven: MySQL fetch performance test
Edit: ik heb er ooit een testje voor geschreven: MySQL fetch performance test
Ik gebruik ook altijd assoc, maar is schijnbaar niet de snelste. Wat ik dan interessanter vind is het verschil met PDO. Dat lijkt me toch wel dé toekomstige manier. Of zit er nou naast. Mysql_* zal toch wel een keer verdwijnen.
ik vind fetch_assoc/fetch_array geen discussie waard :P standaard returned fetch_array een combinatie van fetch_row en fetch_assoc results. (associatieve en numerieke array) en haal je dus 2 keer zoveel info binnen als noodzakelijk
assoc is sneller :)
De keuze van de fetch-methode is grotendeels persoonlijke voorkeur. Er valt wel snelheidwinst te boeken, maar het verschil is ook weer niet ontzettend groot. Ik denk dat het veel belangrijker is dat je je DB indexes goed voor elkaar hebt.



