/ 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_array problem
Fra : Søren


Dato : 20-06-02 11:45

Jeg har nedenstående kode hvor jeg får flg. fejlmelding:

Warning: mysql-fetch-array(): supplied argument is not a valid MySQL result
resource

og php koden ser således ud:

//chose table databaselink
$result = mysql_query("SELECT link, tekst, kommentar FROM databaselink");

//close connection to database
mysql_close($conn);

//show content of table databaselink
while ($row = mysql_fetch_array($result))
{
printf("<b>Link: </b><a href='%s' class='sh' target='blank'>%s</a><br>",
$row["link"], $row["tekst"]);
printf("<b>Info: </b>%s<br>", $row["kommentar"]);
printf("<hr><br>");
}

Fejlmeldingen går på linjen: while ($row = mysql_fetch_array($result))
Linjen har jeg brugt på en anden PHP side uden problemer, så jeg kan ikke
gennemskue hvad der er galt her. Jeg håber der er nogen i NG som kan se hvad
min fejl består i. På forhånd tak.

Søren



 
 
Jonas Koch Bentzen (20-06-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 20-06-02 11:55


> Jeg har nedenstående kode hvor jeg får flg. fejlmelding:
>
> Warning: mysql-fetch-array(): supplied argument is not a valid MySQL result
> resource
>
> og php koden ser således ud:
>
> //chose table databaselink
> $result = mysql_query("SELECT link, tekst, kommentar FROM databaselink");

Det er dér, det går alt. Husk altid fejlhåndtering:

$result = mysql_query("SELECT link, tekst, kommentar FROM databaselink")
or trigger_error(mysql_error());

Hvis du bruger PEAR DB (http://pear.php.net/manual/en/core.db.php), kan
du få den til at ordne fejlhåndteringen helt automatisk:

<?php
PEAR::setErrorHandling(PEAR_ERROR_TRIGGER);
$db = DB::connect("mysql://brugernavn:adgangskode@vaert/database");
$db->setFetchMode(DB_FETCHMODE_ASSOC);

$resultat = $db->query("SELECT link, tekst, kommentar FROM databaselink");

while ($raekke = $resultat->fetchRow()) {
   echo $raekke["link"];
}
?>


Peter Brodersen (20-06-2002)
Kommentar
Fra : Peter Brodersen


Dato : 20-06-02 11:58

On Thu, 20 Jun 2002 12:45:10 +0200, "Søren" <sorenh@gmx.net> wrote:

>Warning: mysql-fetch-array(): supplied argument is not a valid MySQL result
>resource

Det betyder, at:

1. Din query går ikke godt
2. Fejlen opstår så, når du alligevel forsøger at bruge resultatet fra
din fiasko-query.

Smid fx:
print mysql_error();
ind efter du udfører din query, eller tjek om $result overhovedet
indeholder noget.

--
- Peter Brodersen

Søren (20-06-2002)
Kommentar
Fra : Søren


Dato : 20-06-02 12:14

Jeg satte linjen ind som Jonas skrev, og det er vist noget jeg bør bruge
frem over da det lettede fejlsøgningen. Fejlen bestod i, at tabellen ikke
eksisterede. Jeg så efter i min php kode, hvor jeg opretter tabellen og
smider data i den, og der manglede lige et komma. Efter at det komma var sat
ind så kunne jeg lave tabellen og hente data fra den.

Tak for hjælpen.

Søren



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

Månedens bedste
Årets bedste
Sidste års bedste