login  Naam:   Wachtwoord: 
Registreer je!
 Forum

SQL fout (Opgelost)

Offline DieHard - 26/07/2009 19:39 (laatste wijziging 26/07/2009 19:41)
Avatar van DieHardPHP interesse Ik krijg de volgende error als ik dit probeer te sturen naar mijn MySQL database.
// Error //
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 '2', 'Black', '14.00', 3.00', '17.00' )' at line 3.
  1. <?php
  2. $link = @mysql_connect('database.nl', 'name', 'pass');
  3. if (!$link)
  4. {
  5. echo "Could not connect: " . mysql_error();
  6. }
  7. else
  8. {
  9. mysql_select_db('database');
  10.  
  11. $query = "INSERT INTO data
  12. ( FirstName , LastName , Address , HouseNumber , Postal , City , Country , Birth , Email , Phone , MSN , option1_0 , option1_1 , option1_2 , option1_3 , option1_4 , option1_5 , option1_6 , option1_7 , option2_0 , option2_1 , option2_2 , option2_3 , option2_4 , option2_5 , option2_6 , option2_7 , option3_0 , option3_1 , option3_2 , option3_3 , option3_4 , option3_5 , option3_6 , option3_7 , option4_0 , option4_1 , option4_1 , option4_2 , totaloptions1 , totaloptions2 , totaloptions3 , totaloptions4 , color , totaloptions , total , endtotal )";
  13. $query .= " VALUES
  14. ( '$FirstName', '$LastName', '$Address', '$HouseNumber', '$Postal', '$City', '$Country', '$Birth', '$Email', '$Phone', '$option1_0', '$option1_1', '$option1_2', '$option1_3', '$option1_4', '$option1_5', '$option1_6', '$option1_7', '$option2_0', '$option2_1', '$option2_2', '$option2_3', '$option2_4', '$option2_5', '$option2_6', '$option2_7', '$option3_0', '$option3_1', '$option3_2', '$option3_3', '$option3_4', '$option3_5', '$option3_6', '$option3_7', '$option4_0', '$option4_1', '$option4_2, '$totaloptions1', '$totaloptions2', '$totaloptions3', '$totaloptions4', '$color', '$totaloptions', '$total', '$endtotal' )";
  15. //echo $query . "<br>\n";
  16.  
  17. $result = mysql_query($query) OR die (mysql_error());
  18. mysql_close($link);
  19. }
  20. ?>

7 antwoorden

Gesponsorde links
Offline ibmos2warp - 26/07/2009 19:44
Avatar van ibmos2warp PHP interesse Echo de query.
En het is beter om variable buiten quotes te houden.
Offline DieHard - 26/07/2009 19:51 (laatste wijziging 26/07/2009 19:53)
Avatar van DieHard PHP interesse Zo dus?

  1. <?php
  2. $link = @mysql_connect('database.nl', 'name', 'pass');
  3. if (!$link)
  4. {
  5. echo "Could not connect: " . mysql_error();
  6. }
  7. else
  8. {
  9. mysql_select_db('database');
  10.  
  11. $query = "INSERT INTO data
  12. ( FirstName , LastName , Address , HouseNumber , Postal , City , Country , Birth , Email , Phone , MSN , option1_0 , option1_1 , option1_2 , option1_3 , option1_4 , option1_5 , option1_6 , option1_7 , option2_0 , option2_1 , option2_2 , option2_3 , option2_4 , option2_5 , option2_6 , option2_7 , option3_0 , option3_1 , option3_2 , option3_3 , option3_4 , option3_5 , option3_6 , option3_7 , option4_0 , option4_1 , option4_1 , option4_2 , totaloptions1 , totaloptions2 , totaloptions3 , totaloptions4 , color , totaloptions , total , endtotal )";
  13. $query .= " VALUES
  14. ( $FirstName, $LastName, $Address, $HouseNumber, $Postal, etc....... )";
  15. //echo $query . "<br>\n";
  16.  
  17. $result = mysql_query($query) OR die (mysql_error());
  18. mysql_close($link);
  19. }
  20. ?>
Offline ibmos2warp - 26/07/2009 20:01 (laatste wijziging 26/07/2009 20:05)
Avatar van ibmos2warp PHP interesse Nee.
  1. <?php
  2. $blaat = "$blup zei dag tegen $blap"; // Variable binnen quotes. " zijn quotes. In het nederlands aanhalingsteken.
  3. $blaat = $blup . " zei dag tegen " . $blap; // Variable buiten quotes.
  4. // Natuurlijk de rotzooi wel sluiten
  5. ?>


Edit: End vergeten :-P
Offline DieHard - 26/07/2009 20:09 (laatste wijziging 26/07/2009 20:22)
Avatar van DieHard PHP interesse Zo dus?

// Edit
  1. <?php
  2. $link = @mysql_connect('database.nl', 'name', 'pass');
  3. if (!$link)
  4. {
  5. echo "Could not connect: " . mysql_error();
  6. }
  7. else
  8. {
  9. mysql_select_db('database');
  10.  
  11. $query = "INSERT INTO data
  12. ( FirstName , LastName , Address , HouseNumber , Postal , City , Country , Birth , Email , Phone , MSN , option1_0 , option1_1 , option1_2 , option1_3 , option1_4 , option1_5 , option1_6 , option1_7 , option2_0 , option2_1 , option2_2 , option2_3 , option2_4 , option2_5 , option2_6 , option2_7 , option3_0 , option3_1 , option3_2 , option3_3 , option3_4 , option3_5 , option3_6 , option3_7 , option4_0 , option4_1 , option4_1 , option4_2 , totaloptions1 , totaloptions2 , totaloptions3 , totaloptions4 , color , totaloptions , total , endtotal )";
  13. $query .= " VALUES
  14. ( ".$FirstName.", ".$LastName.", ".$Address.", ".$HouseNumber.", etc....... )";
  15. //echo $query . "<br>\n";
  16.  
  17. $result = mysql_query($query) OR die (mysql_error());
  18. mysql_close($link);
  19. }
  20. ?>
Offline ibmos2warp - 26/07/2009 20:14 (laatste wijziging 26/07/2009 20:17)
Avatar van ibmos2warp PHP interesse Om strings aanelkaar te plakken moet je een punt gebruiken. Die staat er ook in mijn post (selecteer dat maar eens), maar je ziet hem niet.
Verder heb ik niets gezegd over de enkele quote ', apostrof (leesteken) in het Nederlands. Die moet in sql, net als bij php om strings heen. Om ints hoeft die niet.

Edit: Nu ik toch bezig ben, je datamodel is ook niet echt goed... D'r klopt volgens mij geen snars van.
Offline DieHard - 26/07/2009 20:23 (laatste wijziging 26/07/2009 20:39)
Avatar van DieHard PHP interesse Ik heb het al gemaakt, option4_2 stond er dubbel in by $query = "INSERT INTO. Toch bedankt en het script is niks mis mee nu het werkt. 
Offline ibmos2warp - 26/07/2009 20:43
Avatar van ibmos2warp PHP interesse
DieHard schreef:
Ik heb het al gemaakt, option4_2 stond er dubbel in by $query = "INSERT INTO. Toch bedankt en het script is niks mis mee nu het werkt. 

Dat het werkt, hoeft niet direct te betekenen dat er niks mis mee is / niet goed is.
Die gedachte is een veel voorkomende fout. EJe ziet geen fouten, er gebeuren geen "rare" dingen, totdat de hele soepzooi uitelkaar valt. Waarom Sarkozy vandaag flauw viel wist ook niemand, totdat ze een scan van z'n hersenen gingen maken...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.215s