login  Naam:   Wachtwoord: 
Registreer je!
 Forum

MySQL fout uitvoeren query

Offline yanny - 19/10/2006 14:54 (laatste wijziging 19/10/2006 16:59)
Avatar van yannyNieuw lid Wanneer ik dit uitvoer krijg ik de volgende foutmelding:

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 '-product VALUES('', '', '')' at line 1
in file c:\wamp\www\prj3-thw32\scripts\winkelwagen\afrekenen.php on line 42

Ik zou graag willen weten wat er fout is, want ik wil het werkend krijgen.  

  1. <?php
  2.  
  3. // Kijk of er iets in de winkelwagen zit
  4. if (empty($_SESSION['cart']))
  5. {
  6. echo "<p>U kunt niet afrekenen, geen producten in uw winkelwagen.</p>\n";
  7. }
  8. else
  9. {
  10. include ("config.php");
  11.  
  12. //controleren of de koper ingelogd is, zo nee...
  13. if($_SESSION['gebruikersnaam'] == ''){
  14. //handelingen
  15. echo "U bent niet ingelogd, of u heeft geen account bij HEMA. Als u uw bestellingen terug wilt zien, raden wij
  16. u aan om in te loggen of om te registreren, zodat u oude bestellingen terug kunt zien.";
  17. }
  18. //als de koper ingelogd heeft wordt het toegevoegd aan de factuur in de database
  19. else{
  20. //klantid ophalen
  21. $gebruikersnaam = $_SESSION['gebruikersnaam'];
  22. $ophalen = "SELECT klantid FROM klant WHERE gebruikersnaam = '$gebruikersnaam'";
  23. $result_ophalen = mysql_query($ophalen);
  24.  
  25. //gegevens in variabelen stoppen om daarna toe te voegen aan factuur tabel
  26. $klantid = mysql_fetch_assoc($result_ophalen);
  27. $datum = date("Y/m/d");
  28. $totaalprijs = $_REQUEST['totaal'];
  29.  
  30. //toevoegen aan tabel factuur
  31. $toevoegen_factuur = "INSERT INTO factuur VALUES('', '$klantid', '$datum', '$totaalprijs')";
  32.  
  33. //als het toegevoegd is voeg je ook toe in factuur-product tabel
  34. if (mysql_query($toevoegen_factuur))
  35. {
  36. //gegevens in variabelen stoppen om daarna toe te voegen aan factuur-product tabel
  37. $productid = $product[0];
  38. $aantal = $i;
  39. //toevoegen aan tabel factuur-product
  40. $sql2 = "INSERT INTO factuur-product VALUES('', '$productid', '$aantal')";
  41. $query2 = mysql_query($sql2) or die (mysql_error()."<br>in file ".__FILE__." on line ".__LINE__);
  42.  
  43. echo "<p>U heeft besteld!</p>";
  44. }
  45.  
  46.  
  47. }
  48. }
  49. ?>


De link naar plaatscode: http://www.plaatscode.be/2911/

10 antwoorden

Gesponsorde links
Offline Ultimatum - 19/10/2006 15:05
Avatar van Ultimatum PHP expert omdat jij y gebruikt ipv Y

verschil:
Citaat:
Y Het huidige jaar, weergegeven in 4 numerieke cijfers (2004)
y Het huidige jaar, weergegeven in 2 numerieke cijfers (04)
Offline yanny - 19/10/2006 16:51 (laatste wijziging 19/10/2006 16:54)
Avatar van yanny Nieuw lid Bedankt voor het advies. Ik heb de script aangepast, maar hij werkt nog steeds niet. Het is een onderdeel van het winkelwagen. Hier moet hij de bestellingen in een factuur zetten namelijk.

Ik zal dan maar de rest van de scripts van de winkelwagen op posten, misschien dat ergens anders een fout zit.
Offline ikki007 - 19/10/2006 16:54
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
Zet in je database het dateveld is op VARCHAR (20)
Offline yanny - 19/10/2006 16:55
Avatar van yanny Nieuw lid Dit is het winkelwagentje, op het einde zie je een link die naar afrekenen script verwijst en dat is het script erboven.

  1. <?php
  2. include "config.php";
  3. // cart.php
  4.  
  5. // Kijk of er iets in de winkelwagen zit
  6. if (empty($_SESSION['cart']))
  7. {
  8. echo "<p>U heeft geen producten in uw winkelwagen staan.</p>\n";
  9. }
  10. else
  11. {
  12. // Exploden
  13. $cart = explode("|",$_SESSION['cart']);
  14.  
  15. // Tellen inhoud winkelwagen
  16. $count = count($cart);
  17. if ($count == 1)
  18. {
  19. echo "<p>Er staat 1 product in uw winkelwagen.</p>\n";
  20. }
  21. else
  22. {
  23. echo "<p>Er staan ".$count." producten in uw winkelwagen</p>\n";
  24. }
  25.  
  26. // Wat javascriptjes voor het weghalen van producten
  27. // En daarna het begin van een tabel met de inhoud
  28. ?>
  29. <script type="text/javascript">
  30. <!--
  31. function removeItem(item)
  32. {
  33. var answer = confirm ('Weet je zeker dat je dit product wilt verwijderen?')
  34. if (answer)
  35. window.location="delete_cart_item.php?item=" + item;
  36. }
  37.  
  38. function removeCart()
  39. {
  40. var answer = confirm ('Weet je zeker dat je de winkelwagen wilt leeghalen?')
  41. if (answer)
  42. window.location="delete_cart.php";
  43. }
  44. -->
  45. </script>
  46.  
  47. <form method="post" name="form" action="update_cart.php">
  48. <table>
  49. <tr>
  50. <td>Productid</td>
  51. <td>Productnaam</td>
  52. <td>Aantal</td>
  53. <td>Prijs p/s</td>
  54. <td>Totaal</td>
  55. <td>&nbsp;</td>
  56. </tr>
  57. <?php
  58.  
  59. // Totaal (komt later wel terug)
  60. $total = 0;
  61.  
  62. // Show cart
  63. foreach($cart as $products)
  64. {
  65. // Split
  66. /*
  67. $product[x] -->
  68. x == 0 -> product id
  69. x == 1 -> aantal
  70. */
  71. $product = explode(",",$products);
  72.  
  73. // Get product info
  74. $sql = "SELECT productid, productnaam, prijs FROM product WHERE productid = ".$product[0];
  75. $query = mysql_query($sql) or die (mysql_error()."<br>in file ".__FILE__." on line ".__LINE__);
  76. $pro_cart = mysql_fetch_object($query);
  77. $i++;
  78.  
  79. echo "<tr>\n";
  80. echo "<td>".$pro_cart->productid."</td>\n"; //productid
  81. echo "<td>".$pro_cart->productnaam."</td>\n"; //productnaam
  82. echo "<td><input type='hidden' name=\"productid_".$i."\" value=\"".$product[0]."\" />\n"; // wat onzichtbare vars voor het updaten
  83. echo "<input type='text' name=\"aantal_".$i."\" value=\"".$product[1]."\" size='2' maxlength='2' /></td>\n";
  84. echo "<td>€".$pro_cart->prijs."</td>\n";
  85. $regelprijs = $product[1] * $pro_cart->prijs; // regelprijs uitrekenen > aantal * prijs
  86. echo "<td>€".$regelprijs."</td>\n";
  87. echo "<td><a href=\"javascript:removeItem(".$i.")\">X</td>\n"; // Verwijder, mooi plaatje van prullebak ofzo
  88. echo "</tr>\n";
  89. // Total
  90. $total = $total + $regelprijs;// Totaal updaten
  91.  
  92. }
  93. ?>
  94. <tr>
  95. <td colspan="4">Totaal</td>
  96. <td>
  97. <?php echo "€$total";?>
  98. </td>
  99. <td>&nbsp;</td>
  100. </tr>
  101. <tr>
  102. <td colspan="2">&nbsp;</td>
  103. <td colspan="4"><input type="submit" value="Ververs" /></td>
  104. </tr>
  105. </table>
  106. </form>
  107. <p>&bull; <a href="javascript:removeCart()">Winkelwagen leeghalen</a><br />
  108. &bull; <a href="afrekenen.php?totaal=<?$total?>">Afrekenen</a><br />
  109.  
  110. <?php
  111. }
  112. ?>
Offline letscode - 19/10/2006 16:58
Avatar van letscode HTML beginner als je inplaats van '$datum' eens de mysql-functie NOW() insert in je db?
Offline yanny - 19/10/2006 17:00
Avatar van yanny Nieuw lid Hoe moet dat?
Offline letscode - 19/10/2006 17:02 (laatste wijziging 19/10/2006 17:02)
Avatar van letscode HTML beginner
  1. <?php
  2. $toevoegen_factuur = "INSERT INTO factuur VALUES('', '$klantid', 'NOW()', '$totaalprijs')";
  3. ?>

zo 
Offline yanny - 19/10/2006 17:06 (laatste wijziging 19/10/2006 17:07)
Avatar van yanny Nieuw lid Ik heb NOW() geprobeerd.

Ik krijg nog steeds deze foutmelding:

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 '-product VALUES('', '', '')' at line 1
in file c:\wamp\www\prj3-thw32\scripts\winkelwagen\afrekenen.php on line 44

Offline Rik - 19/10/2006 17:21
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Zo te zien mag er geen streepje in je query voorkomen, weet je zeker dat je tabel factuur-product bestaat, en of hij echt zo heet? Maak er anders eens `factuur-product` van.
Offline yanny - 19/10/2006 17:43
Avatar van yanny Nieuw lid Het helpt niet, ik krijg nog steeds dezelfde fout. En ja, factuur-product tabel bestaat.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.221s