Avatar billede locura Novice
03. marts 2005 - 21:05 Der er 10 kommentarer og
1 løsning

Problem med viderstilling!

HEY!

Jeg har lavet et rating system i PHP, som sender oplysninger til en MySQL database, koden virker sådan set godt nok, problmet opstår når koden har udført sin handling og skal sende brugeren tilbage til sidan han kom fra, der giver den følgende fejlmeddelelse:


Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /customers/munkoe.dk/munkoe.dk/httpd.www/ny/dvdliste/info.php on line 25

som sagt tilføjer den oplysningerne til databasen selv om den giver denne meddelelse.
Koden ser således ud:

<?
$connection = mysql_connect("******","******","******");
mysql_select_db("******", $connection);

$parentnew = $_POST['id'];

$resultat = mysql_query("select parent, stemmer, point from rating where parent=$parentnew");
$row = mysql_fetch_assoc($resultat);

$parent = $row['parent'];
$point = $row['point'];
$stemmer = $row['stemmer'];
$karakter = $_POST["stem"];
$stemmer2 = $stemmer + 1;
$point2 = $point + $karakter;

if ($parent == $parentnew) {
$sql = ("UPDATE rating SET stemmer='$stemmer2', point='$point2'");

mysql_query($sql,$connection) or die(mysql_error());

mysql_close($connection) or die(mysql_error());

header("Location: info.php?id=$parent");

} else {

$insertSQL = "insert into rating(parent, stemmer, point)
              values ('$parentnew', '1', '$karakter')";
mysql_query($insertSQL);

mysql_close($connection) or die(mysql_error());

header("Location: info.php?id=$parant");
}

?>

PS. den vil gerne springe tilbage til info.php?id=$parant, hvis betingelsen i if er opfyldt, men ikke hvis den går ned i else!
Avatar billede arne_v Ekspert
03. marts 2005 - 21:08 #1
Er $parant ikke stavet forkert ??  (a versus e)
Avatar billede locura Novice
03. marts 2005 - 21:14 #2
Jo, men har haft det rettet, virker stadigvæk ikke! det virker hvis jeg bruger $_POST['id'] istedet for! Men forstår stadigvæk ikke hvorfor det ikke virker med $parent?
Avatar billede arne_v Ekspert
03. marts 2005 - 21:17 #3
Samme linie nummer ?
Avatar billede locura Novice
03. marts 2005 - 21:18 #4
ja, nøjagtig samme fejlmeddelelse!
Avatar billede arne_v Ekspert
03. marts 2005 - 21:19 #5
Og linie 25 er ?
Avatar billede locura Novice
03. marts 2005 - 21:20 #6
kan det have noget at gøre med at den bruger oplysninger fra denne linie:

$resultat = mysql_query("select parent, stemmer, point from rating where parent=$parentnew");
$row = mysql_fetch_assoc($resultat);

og når else dele bliver brugt, er det fordi databasen er tom!!
Avatar billede locura Novice
03. marts 2005 - 21:22 #7
tæl ovenover, det er en tom linie lige under header("Location: info.php?id=$parent"); i if delen!
Avatar billede arne_v Ekspert
03. marts 2005 - 21:23 #8
Ja og den linie kan jo ikke give en MySQL fejl.

Altså er der et eller andet galt !
Avatar billede arne_v Ekspert
03. marts 2005 - 21:24 #9
Men ja

$row = mysql_fetch_assoc($resultat);

bør nok være

if($row = mysql_fetch_assoc($resultat)) {
Avatar billede locura Novice
03. marts 2005 - 21:26 #10
hehe ja! Jeg er bare løbet tør for ideér, men det virker jo med $_POST['id'] istedet, så problemet er ikke større! Bare hvis man kunne lære lidt af sine fejl :)

Men smid et svar Arne, du får point for din ulejlighed ;)
Avatar billede arne_v Ekspert
03. marts 2005 - 21:30 #11
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester