Gå til innhold

Hjelp med MySQL spørring


Anbefalte innlegg

Skrevet

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

Videoannonse
Annonse
Gjest Slettet+142
Skrevet

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.

Skrevet

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.

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...