Avatar billede aare_o Nybegynder
08. januar 2007 - 21:13 Der er 7 kommentarer og
1 løsning

Object array og row?

Hvad er forskellen på disse tre? jeg tænker på mySQL_fetch_object($result); mySQL_fetch_array($result); mySQL_fetch_row($result);

Kan godt se der er forskel, men i den sidste ende giver det jo det samme resultat. F.eks.:

$db = mySQL_fetch_object($result);
echo $db->felt;

$db = mySQL_fetch_array($result);
echo $db['felt'];

(antager at kolonnen "felt" er kolonne nr. 1)
$db = mySQL_fetch_row($result);
echo $db[0];

Dette skulle give det samme i mine øjne.
Avatar billede coderdk Praktikant
08. januar 2007 - 22:39 #1
Forskellene er som du selv skriver:

$db = mySQL_fetch_object($result);

Her refererer du felter med:

$db->felt

$db = mySQL_fetch_array($result);

Her refererer du felter med:

$db['felt']

eller

$db[0]

Med:

$db = mySQL_fetch_row($result);

Referer du kun til feltet vha. nummer:

$db[0]

Og slutteligt med:

$db = mysql_fetch_assoc($result);

refererer du kun til feltet med navn:

$db['felt']

Den mest brugte er mysql_fetch_array, selvom folk KUN bruger feltnavne, altså kunne folk lige så godt bruge mysql_fetch_assoc (det ville sandsynglivis performe bedre da array jo giver dobbelt data)...

Men der er jo en smagssag :)
Avatar billede aare_o Nybegynder
08. januar 2007 - 23:14 #2
Okay så $db = mySQL_fetch_array($result); er et sammendrag af $db = mysql_fetch_assoc($result); og $db = mySQL_fetch_row($result);?

Jeg kan godt se det er fire forskellinge måder, men jeg kan bare ikke se hvorfor der er lavet fire, når de kan det samme.
Jeg ved ikke hvornår jeg skal bruge hvad, men det med performance.
Avatar billede coderdk Praktikant
08. januar 2007 - 23:19 #3
Korrekt :)

Well, det er vel op til dig selv, hvad du synes er smartest at bruge :) Jeg bruger f.eks. aldrig _array eller _row da jeg ikke bruger nummerisk tilgang. Jeg bruger som regel _assoc selvom jeg bedst kan lide OOP-tilgangen i _object :) Det er som sagt bare smag og behag :)
Avatar billede arne_v Ekspert
09. januar 2007 - 01:31 #4
det er vel filosofien i PHP

er der nogen som synes at feature X er smart og de gider implementere den så
er der ikke nogen som stopper dem

det giver en masse funktionalitet

og nogen gange giver det så dobbelt eller tredobbelt funtkionalitet
Avatar billede aare_o Nybegynder
09. januar 2007 - 11:18 #5
Ja okay kan godt se det, det er selvfølgelige alt efter om man vil have tilgang til den via tal eller felt navn.

Men coderdk hvorfor så ikke bruge _object, hvis du bedst kan lide den?
Avatar billede aare_o Nybegynder
09. januar 2007 - 11:19 #6
:)
Avatar billede coderdk Praktikant
09. januar 2007 - 12:10 #7
Gammel vane, intet andet :)
Avatar billede aare_o Nybegynder
09. januar 2007 - 14:20 #8
Okay men tak for det. Slut her fra.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester