/ 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
extract()
Fra : Ricco F. Madsen


Dato : 24-04-01 21:08

Hej NG,

Hvad går galt i disse scripts? Når jeg afvikler dem, får jeg
fejlmeddelelsen, at der er en forkert datatype til kaldet extract()...

$result = mysql_query("select id, navn, date_format(tid, '%e/%c %Y,
%H:%i') as time, besked from dagbog order by tid desc limit $start,
$page_amount");
$count = mysql_query("select count(*) as amount from dagbog");

extract($count[0]);

blah blah blah

if(count($result) < 1) {

echo "Der er ingen indlæg endnu.";

} else {

for($i=0;$i<count($result);$i++) {
extract($result[$i]);

$besked = stripslashes($besked);
$navn = stripslashes($navn);

Det har virket før, men efter jeg har organiseret koden og kommenteret den
virker det bare ikke...

Det skal måske siges, at dette er stærkt inspireret af gæstebogen på
www.webcafe.dk, men selvom jeg har nærlæst den ca tusind gange, kan jeg
ikke finde løsningen!

/Ricco


 
 
Jonas Koch Bentzen (24-04-2001)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 24-04-01 21:41

Ricco F. Madsen skrev:

> extract($count[0]);

Argumentet til extract skal være et array. Du bruger et *element* i et
array.

--
Venlig hilsen
Jonas Koch Bentzen

Christian Rishøj (25-04-2001)
Kommentar
Fra : Christian Rishøj


Dato : 25-04-01 09:13


"Jonas Koch Bentzen" <ingen.epostadresse@eksempel.dk> wrote in message
news:9c4obp$2hfc$1@news.cybercity.dk...

> > extract($count[0]);
>
> Argumentet til extract skal være et array. Du bruger et *element* i et
> array.

Hvad SATUM mener du med det?

Ricco F. Madsen giver extract() en integer som argument, idet $count er
returværdien fra mysql_query, jævnfør manualen:

int mysql_query (string query [, int link_identifier])

Han skal i stedet bruge fx mysql_fetch_assoc() og evt. derefter extract() på
returværdien af denne.

/Christian



Jonas Koch Bentzen (25-04-2001)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 25-04-01 10:03

Christian Rishøj skrev:

>
> "Jonas Koch Bentzen" <ingen.epostadresse@eksempel.dk> wrote in message
> news:9c4obp$2hfc$1@news.cybercity.dk...
>
>> > extract($count[0]);
>>
>> Argumentet til extract skal være et array. Du bruger et *element* i
>> et array.
>
> Hvad SATUM mener du med det?

Præcis, hvad jeg skriver.

Fra PHP-manualen:

int extract (array var_array [, int extract_type [, string prefix]])

Første argument skal være et array.

--
Venlig hilsen
Jonas Koch Bentzen

Christian Rishøj (25-04-2001)
Kommentar
Fra : Christian Rishøj


Dato : 25-04-01 12:43


"Jonas Koch Bentzen" <ingen.epostadresse@eksempel.dk> wrote in message
news:WnwF6.59315$o4.5085896@news010.worldonline.dk...

> > Hvad SATUM mener du med det?
>
> Præcis, hvad jeg skriver.

Undskyld mig, men nu må du altså lige tage dig sammen. Du skriver:

> >> Argumentet til extract skal være et array. Du bruger et *element* i
> >> et array.

Det er da rigtigt, at extract() tager et (eller flere) arrays, men du
skriver imidlertid, at Ricco. F. Madsen bruger et "*element* i et array",
hvilket jo ingenlunde er tilfældet.

Ricco F. Madsen forsøger at tilgå det første element i en integer, hvilket
jo ikke giver nogen mening overhovedet - og det er jo dette, der reelt er
problemet.

/Christian



Jonas Koch Bentzen (25-04-2001)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 25-04-01 13:12

Christian Rishøj skrev:

> Det er da rigtigt, at extract() tager et (eller flere) arrays, men du
> skriver imidlertid, at Ricco. F. Madsen bruger et "*element* i et
> array", hvilket jo ingenlunde er tilfældet.

Jeg så ikke koden igennem - jeg så bare extract($count[0]); og
konkluderede, at $count var et array og $count[0] første element i
arrayet.

--
Venlig hilsen
Jonas Koch Bentzen

Nezar Nielsen (25-04-2001)
Kommentar
Fra : Nezar Nielsen


Dato : 25-04-01 01:05

"Ricco F. Madsen" <ricco@net.dialog.dk> wrote in message
news:fc.0073fb6b0317b3410073fb6b0317b341.317b47c@net.dialog.dk...
> Hej NG,
>
> Hvad går galt i disse scripts? Når jeg afvikler dem, får jeg
> fejlmeddelelsen, at der er en forkert datatype til kaldet extract()...
>
> $result = mysql_query("select id, navn, date_format(tid, '%e/%c %Y,
> %H:%i') as time, besked from dagbog order by tid desc limit $start,
> $page_amount");
> $count = mysql_query("select count(*) as amount from dagbog");
>
> extract($count[0]);

Du checker ikke om dine querys overhovedet bliver udført, desuden kører du
extract på en mysql resultat-pointer(formentligt tallet 2)'s første
element..det giver ingen mening.

fra http://dk.php.net/manual/en/function.mysql-query.php

mysql_query() returns TRUE (non-zero) or FALSE to indicate whether or not
the query succeeded. A return value of TRUE means that the query was legal
and could be executed by the server. It does not indicate anything about the
number of rows affected or returned. It is perfectly possible for a query to
succeed but affect no rows or return no rows.

Se evt. eksemplet på
http://dk.php.net/manual/en/function.mysql-fetch-assoc.php for hvordan man
henter info ud af en tabel.

--
Mvh. Nezar Nielsen
http://fez.dk/




Søg
Reklame
Statistik
Spørgsmål : 177508
Tips : 31968
Nyheder : 719565
Indlæg : 6408569
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste