ZeRKoX Skrevet 6. mars 2008 Skrevet 6. mars 2008 Jeg har et script som ser slik ut: <?php include('connect.php'); $kategori = mysql_real_escape_string($_GET['kategori']); $result = mysql_query("SELECT * FROM bok WHERE kategori=$kategori ORDER BY bokID DESC LIMIT 10"); echo "<table border=0 cellpadding=2 cellspacing=0>"; while($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td rowspan=3><img height=80 src=bilder/upload/" . $row['bilde'] . "></td>"; echo "<td><u><b>" . $row['tittel'] . "</b>, " . $row['forfatter'] . "</u></td>"; echo "</tr><tr>"; echo "<td>" . $row['tekst'] . "</td>"; echo "</tr><tr>"; echo "<td>Pris: " . $row['pris'] . " kroner.</td>"; echo "</tr>"; } echo "</table>"; ?> Når jeg kjører koden får jeg en feilmelding. Kan dere se hva som er feil? Feilmeldingen er: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /kunder/vatnebok.no/www/ny/bok2.php on line 8
Gjest Slettet+142 Skrevet 6. mars 2008 Skrevet 6. mars 2008 Legg til echo mysql_error(); etter mysql_query()-en din og se hva som kommer opp. Du vil mest sannsynlig få en feilmelding generert av MySQL da, som forklarer hva som muligens er feil med SQL-en din.
Zandar Skrevet 6. mars 2008 Skrevet 6. mars 2008 Feilmeldingen skyldes mest sannsynlig at sql-spørringen din feiler. Du bør skjekke at $result inneholder gyldig verdi før du bruker mysql_fetch_array($result) Har endret litt på koden din og du kan prøve dette: <?php require ('connect.php'); $kategori = mysql_real_escape_string($_GET['kategori']); $result = mysql_query("SELECT * FROM bok WHERE kategori='$kategori' ORDER BY bokID DESC LIMIT 10"); if ($result) { echo "<table border=0 cellpadding=2 cellspacing=0>"; while ($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td rowspan=3><img height=80 src=bilder/upload/" . $row['bilde'] . "></td>"; echo "<td><u><b>" . $row['tittel'] . "</b>, " . $row['forfatter'] . "</u></td>"; echo "</tr><tr>"; echo "<td>" . $row['tekst'] . "</td>"; echo "</tr><tr>"; echo "<td>Pris: " . $row['pris'] . " kroner.</td>"; echo "</tr>"; } echo "</table>"; } else { echo 'Det oppstod en feil ved spørringen. Feilmelding: ' . mysql_error(); } ?> Regner med at feilen skyldes at du ikke har brukt '' rundt $kategori i spørringen. Dersom kolonnen kategori er tekstfelt må du bruke '' rundt verdien i spørringen.
ZeRKoX Skrevet 9. mars 2008 Forfatter Skrevet 9. mars 2008 Når jeg la til to fnutter i spøøringen, fungerte det. takk. WHERE kategori='$kategori'
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå