Hee luitjes,

Ben bezig met een gastenboek te maken door middel van PHP en SQL ik blijf nu een foutmelding krijgen namelijk ..

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\wamp\www\test\afdrukken.php on line 19

Dit is mijn gastenboek invul pagina..

<html>
<head>

<title> Tamara's gastenboek </title>

</head>

<center>
<h1>Tamara's Gastenboek </h1>

<form method="POST" Action="afdrukken.php">

Naam:<input type="text" size="30" maxlength="50" name="naam">
<p>
Emailadres:<input type="text" size="30" maxlength="100" name="email">
<p>
Hoe ben je op deze site terecht gekomen?:<input type="text" size="30" maxlength="50" name="gekomen">
<p>
<textarea name="bericht" rows="20" cols="40">
</textarea>
<p>
<input type="Submit" name="verzenden" value="Verzenden">

</head
</html>


Dit is Afdrukken.. PHP


<?php

$naam = $_POST['naam'];
$email = $_POST['email'];
$gekomen = $_POST['gekomen'];
$bericht = $_POST['bericht'];

mysql_connect("localhost", "root") or
die("Kan geen verbinding maken: " . mysql_error());
mysql_select_db("gastenboek");

$sql ="INSERT INTO gastenboek (naam,email,gekomen,bericht) VALUES ('" . $naam . "', '" . $email . "', '" . $gekomen . "', '" . $bericht . "')";

$result = mysql_query($sql);
if (!$result) {
die('Invalid query: ' . mysql_error());
}

while ($row = mysql_fetch_assoc($result)) {
$row['naam'];
$row['email'];
$row['gekomen'];
$row['bericht'];
}


?>


Wat gaat hier fout?
100 maal dank!!!
Je voert een INSERT query uit en die geeft geen resultaten terug. Er is dus ook niets om te fetchen...

ps. Verder mag je POST variabelen nooit, maar dan ook echt nooit, onbeveiligd in je query gebruiken. En dat geldt dus ook voor onveranderde kopieen (nutteloos?) van die variabelen. Gebruik mysql_real_escape_string() om de input te beveiligen.
Wat is de bedoeling nu dan? Hij heeft toch de resultaten die op de gastenboek.php pagina worden ingetypt:?

Wat wil je nu dan? de resultaten weergeven die je in de database set?

Gebruik daar gewoon de post vars voor.
Hij heeft toch de resultaten die op de gastenboek.php pagina worden ingetypt:?
Ja, maar die komen niet uit de database/query. Die gegevens zijn bekend in de betreffende POST variabelen zoals Martijn ook al zegt...
Martijn schreef op 03.04.2008 12:28
Wat wil je nu dan? de resultaten weergeven die je in de database set?

Gebruik daar gewoon de post vars voor.



Post vars?

Ja? Die dingen die beginnen met $_POST zeg maar, de input die uit je formulier komt dus...
Haal ook even (or) die() uit je script. (Or) die() is een lelijke manier van tekst weergeven. Je doodt toch geen tekst/pagina's/errors?

Gebruik gewoon echo. Wil je niet dat een script na deze echo wordt voortgezet? Script netjes, en plaats de rest van de code in een if of else (de laatste als er voorafgaande al een if wordt gebruikt).

Reageren