/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
mysql_fetch_row
Fra : Anders Lund


Dato : 17-01-02 21:48

Jeg kan af en eller anden grund ikke forstå hvordan denne funktion virker:
mysql_fetch_row

Jeg har set den brugt som her:

$database = mysql_connect("127.0.0.1","root","")
mysql_select_db("database",$database)
$forsp = mysql_query("select id from tabel")
while ($data = mysql_fetch_row($forsp)) echo $data[1];

Hvad har data med noget af gøre, den bliver jo på intet tidspunkt tilskrevet
nogen værdi. Hvordan kommer while lykken overhoved igang. For $data, som er
tom, og mysql_fetch_row, som indeholder en post, er vel på intet tidspunkt
ens.

Jeg håber der er en venlig sjæl der vil beskrive hvad der sker.

Mvh
Anders Lund



 
 
Christian Schmidt (17-01-2002)
Kommentar
Fra : Christian Schmidt


Dato : 17-01-02 22:06

Anders Lund wrote:
>
> Jeg kan af en eller anden grund ikke forstå hvordan denne funktion virker:
> mysql_fetch_row
>
> Jeg har set den brugt som her:
>
> $database = mysql_connect("127.0.0.1","root","")
> mysql_select_db("database",$database)
> $forsp = mysql_query("select id from tabel")
> while ($data = mysql_fetch_row($forsp)) echo $data[1];
>
> Hvad har data med noget af gøre, den bliver jo på intet tidspunkt tilskrevet
> nogen værdi. Hvordan kommer while lykken overhoved igang. For $data, som er
> tom, og mysql_fetch_row, som indeholder en post, er vel på intet tidspunkt
> ens.

Du bytter om på betydningen af = og ==, der betyder hhv. tildeling og
sammenligning.

$data bliver således tilskrevet værdi ved "$data =
mysql_fetch_row($forsp)".

En tildeling evaluerer desuden til den værdi, der bliver tildelt. I
dette tilfælde betyder det, at while-løkken vil fortsætte, så længe
$data bliver tildelt en værdi, der kan castes til true.


Til sammenligning vil denne stump kode udskrive 2-taller i al evighed:

$i = 1;
while ($i = 1) {
   $i = 2;
   print $i;
}


Men denne stump kode vil udskrive et enkelt 2-tal og herefter terminere:

$i = 1;
while ($i == 1) {
   $i = 2;
   print $i;
}


Christian

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste