login  Naam:   Wachtwoord: 
Registreer je!
 Forum

result

Offline Nation - 02/07/2006 22:01 (laatste wijziging 02/07/2006 22:02)
Avatar van NationPHP interesse simpele vraag maar kom er niet uit:
  1. $sql = "INSERT INTO poll (vraag_id,naam,waarde,email,commentaar) VALUES ('".$id."','".$naam."','".$score."','".$email."','".$commentaar."')";
  2. $result = mysql_query($sql);
  3. if (!$result) {
  4. echo "er is een fout opgetreden bij het invoegen van je mening";
  5. } else {
  6. echo "je mening is succesvol in de database gestopt";
  7. header("Location: poll.php?id=".$_GET['id']);
  8. }

dit heb ik , ik weet niet wat ik bij die if lus moet zetten, want zo geeft hij altijd weer:
er is een fout opgetreden

12 antwoorden

Gesponsorde links
Offline svm - 02/07/2006 22:04
Avatar van svm PHP ver gevorderde
  1. if ($result != een_waarde)

Denk ik.
Offline Nation - 02/07/2006 22:05
Avatar van Nation PHP interesse maar daar kan je moeilijk een waarde ingeven, want je weet niet wat de waarde word he?
Offline finduilas - 02/07/2006 22:07 (laatste wijziging 02/07/2006 22:08)
Avatar van finduilas PHP gevorderde
  1. if (!@mysql_query(""INSERT INTO poll (vraag_id,naam,waarde,email,commentaar) VALUES ('".$id."','".$naam."','".$score."','".$email."','".$commentaar."'))
  2. {
  3. exit("er is een fout opgetreden bij het invoegen van je mening.<br />".MySQL_Error());
  4. }
  5. else
  6. {
  7. echo "je mening is succesvol in de database gestopt";
  8. header("Location: poll.php?id=".$_GET['id']);
  9. }
Offline Nation - 02/07/2006 22:10
Avatar van Nation PHP interesse waarvoor dient die @ op de eerste regel?
Offline Bart - 02/07/2006 22:10
Avatar van Bart PHP expert
  1. <?php
  2. $qInsert = mysql_query("INSERT INTO poll (vraag_id,naam,waarde,email,commentaar) VALUES ('".$id."','".$naam."','".$score."','".$email."','".$commentaar."'");
  3. if (!$qInsert) {
  4. echo "er is een fout opgetreden bij het invoegen van je mening";
  5. } else {
  6. echo "je mening is succesvol in de database gestopt";
  7. header("Location: poll.php?id=".$_GET['id']);
  8. }
  9. ?>

Wat je ook kunt doen is gewoon
  1. or die("query_var_naam: ".mysql_error());
er achter zetten.
Of als je het netjes wilt maken:
Citaat:
or die("Fout melding voor de gebruiker");
Offline Rens - 02/07/2006 22:11 (laatste wijziging 02/07/2006 22:12)
Avatar van Rens Gouden medaille

Crew algemeen
Of je laat die variabele gewoon weg omdat een insert query toch geen result terugstuurd...
  1. <?PHP
  2. if(!MySQL_Query("je query"))
  3. {
  4. echo "Er is een foutje.<br />";
  5. } else
  6. {
  7. echo "Alles goed.";
  8. }
  9. ?>


@Nation: De @ zorgt ervoor dat de fout die PHP zelf 'genereert' niet word weergeven.
Offline Nation - 02/07/2006 22:13 (laatste wijziging 02/07/2006 22:14)
Avatar van Nation PHP interesse ik heb nou:
  1. if (!mysql_query("INSERT INTO poll (vraag_id,naam,waarde,email,commentaar) VALUES ('".$id."','".$naam."','".$score."','".$email."','".$commentaar."'")) {
  2. exit("er is een fout opgetreden bij het invoegen van je mening.<br />".MySQL_Error());
  3. } else {
  4. echo "je mening is succesvol in de database gestopt";
  5. header("Location: poll.php?id=".$_GET['id']);
  6. }

en hij geeft als fout:
  1. er is een fout opgetreden bij het invoegen van je mening.
  2. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Offline Rens - 02/07/2006 22:18 (laatste wijziging 02/07/2006 22:34)
Avatar van Rens Gouden medaille

Crew algemeen
Een van je variabelen is dus leeg.
Het volgende vind ikzelf heel handig om zoiets op te lossen:
  1. <?PHP
  2. $sQuery = "INSERT INTO poll (vraag_id,naam,waarde,email,commentaar) VALUES ('".$id."','".$naam."','".$score."','".$email."','".$commentaar."'";
  3. if(!MySQL_Query($sQuery))
  4. {
  5. echo "Er is een fout opgetreden bij het invoegen van je mening.<br />";
  6. echo MySQL_Error()."<br />";
  7. echo "<br />";
  8. echo $sQuery;
  9. } else
  10. {
  11. echo "je mening is succesvol in de database gestopt";
  12. header("Location: poll.php?id=".$_GET['id']);
  13. }
  14. ?>

Zo word je query weergeven, en zie je meteen welke variabele leeg is.

@Hieronder: Inderdaar, dat is de fout 
Offline Simon - 02/07/2006 22:31
Avatar van Simon PHP expert
  1. '".$commentaar."'"))

hmmz...
  1. '".$commentaar."')")

zo is het toch beter... , het ligt niet aan de variabelen volgens mij
Offline Nation - 02/07/2006 23:37 (laatste wijziging 02/07/2006 23:43)
Avatar van Nation PHP interesse ik heb nou het bovenste veranderd in:
  1. <?php
  2. if ($_POST['Submit']) {
  3. $id = $_GET['id'];
  4. $naam = $_POST['naam'];
  5. $score = $_POST['select'];
  6. $email = $_POST['email'];
  7. $commentaar = $_POST['commentaar'];
  8. if (!id) {
  9. $message = "poll niet gevonden";
  10. echo $message;
  11. }
  12. if (!$naam) {
  13. $message = "vul je naam in";
  14. echo $message;
  15. }
  16. if (!$score) {
  17. $message = "geef een score";
  18. echo $message;
  19. }
  20. if (!$email) {
  21. $message = "vul je email adres in";
  22. echo $message;
  23. }
  24. if (!$commentaar) {
  25. $message = "vul je commentaar op dit bericht in";
  26. echo $message;
  27. }

dus dat het een lege variabele is kan denk ik niet
Offline Ibrahim - 03/07/2006 12:46 (laatste wijziging 03/07/2006 12:49)
Avatar van Ibrahim PHP expert beter om te checken voor een lege variabele PHP.net: empty

plus simon heeft al de fout op de vorige pagina gegeven, misschien ligt DAAR de fout ??
Offline Voldemort - 03/07/2006 13:46
Avatar van Voldemort PHP ver gevorderde En je kan ook altijd mysql_error() zetten:

  1. <?php
  2. if(empty($result) || mysql_error()) {
  3. echo 'Foutje: '.mysql_error(); /*Of gewoon echo 'Foutje'; als je geen foutmeldingen wil zien, dit kan handig zijn voor als je site on is, dan kan je een mailfunctie maken die je de fout mailt.*/
  4. }
  5. else {
  6. echo 'Alles juist.';
  7. }
  8. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.315s