login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Syntax error

Offline Givike - 20/04/2008 20:03 (laatste wijziging 20/04/2008 20:10)
Avatar van GivikeNieuw lid 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

Dit is de error die ik krijg, wat mij het meeste stoort is dat die lijn 1 zegt  

Men syntax

  1. <?php
  2. mysql_connect ("localhost", "root", "") or die ('Geen toegang tot de databank: ' .mysql_error());
  3. mysql_select_db ("databank");
  4.  
  5.  
  6.  
  7. // Onderdelen definïeren
  8. $id=$_GET['id'];
  9. $Select=mysql_query("SELECT INGRED, DESCRI FROM tabelrecepten WHERE id=".$id."") OR die(mysql_error());
  10. $fetch=mysql_fetch_array($Select);
  11.  
  12.  
  13. echo "<a href='?id=1'>Vegetarisch</a>";
  14. echo "<a href='?id=2'>Pikant</a>";
  15. echo "<a href='?id=3'>Italiaans</a>";
  16. ?>


Citaat:
Rens edit:
Codetags gebruiken!

10 antwoorden

Gesponsorde links
Offline vinTage - 20/04/2008 20:07 (laatste wijziging 20/04/2008 20:07)
Avatar van vinTage Nieuw lid
  1. $Select=mysql_query("SELECT INGRED, DESCRI FROM tabelrecepten WHERE id='".$id."'") or die(mysql_error());


Zou wel id beveiligen dmv addslashes of mysql_real_escape_string
Offline Rens - 20/04/2008 20:12
Avatar van Rens Gouden medaille

Crew algemeen
@vinTage, neem aan dat $id een getal moet bevatten, dus hoeven er geen single quotes om heen.

@Givike, de fout zegt dat $id leeg is.
Dus er staan geen ?id= in de url op dat moment...

Ik zou je code iets aanpassen, dus met een check of id wel geset is.
  1. if(IsSet($_GET['id']))
  2. {
  3. } else
  4. {
  5. }

Succes!
Offline vinTage - 20/04/2008 20:14 (laatste wijziging 20/04/2008 20:16)
Avatar van vinTage Nieuw lid Er staat nergens dat het een integer is, de fout is gewoon dat er een quote extra staat in die regel (op t einde).
Tussen quotes werkt het altijd.

Als het een integer moet zijn is dit ook goed

  1. $Select=mysql_query("SELECT INGRED, DESCRI FROM tabelrecepten WHERE id=".$id) or die(mysql_error());

Maar nog steeds checken of het wel een veile input is 
Offline Rens - 20/04/2008 20:15
Avatar van Rens Gouden medaille

Crew algemeen
  1. WHERE id=".$id.""

Dat kan zo ook hè...
."" kun je net zo goed weglaten, maar het zou goed zijn, mits het een integer is.
Daarom dat ik daar van uit ga... 
Offline Givike - 20/04/2008 20:31 (laatste wijziging 20/04/2008 20:32)
Avatar van Givike Nieuw lid De fout is opgelost, maar een ander is opgedoken

Parse error: syntax error, unexpected T_STRING

  1. echo "<a href='?id=1'>Vegetarisch</a>";
Offline Rens - 20/04/2008 21:15
Avatar van Rens Gouden medaille

Crew algemeen
Geef je volledige code eens...
Offline Givike - 20/04/2008 21:21
Avatar van Givike Nieuw lid Ik ben een zware leek dus vergeef mij 

Het is letterlijk de eerste dag dat dus PHP programmeer.

Bedoeling is dat de link de ID meegeeft, de ID bepaalt welke informatie uit de databank moet gehaald worden. En dan de laatste stap (nog niet gecodeert, tips zijn welkom): het weergeven van deze informatie. Ik vermoed een simpele echo.

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <title>Untitled Document</title>
  6. </head>
  7.  
  8. <body>
  9.  
  10. <?php
  11.  
  12.  
  13. mysql_connect ("localhost", "root", "") or die ('Geen toegang tot de databank: ' .mysql_error());
  14. mysql_select_db ("databank");
  15.  
  16.  
  17.  
  18. // Onderdelen definïeren
  19. $id=$_GET['id'];
  20. $Select=mysql_query("SELECT INGRED, DESCRI FROM tabelrecepten WHERE id=".$id.") OR die(mysql_error());
  21. $fetch=mysql_fetch_array($Select);
  22.  
  23.  
  24.  
  25.  
  26. echo "<a href='?id=1'>Vegetarisch</a>";
  27. echo "<a href='?id=2'>Pikant</a>";
  28. echo "<a href='?id=3'>Italiaans</a>";
  29.  
  30.  
  31. ?>
  32.  
  33. </body>
  34. </html>


Offline vinTage - 20/04/2008 21:27
Avatar van vinTage Nieuw lid
  1. $Select=mysql_query("SELECT INGRED, DESCRI FROM tabelrecepten WHERE id=".$id) or die(mysql_error());
Offline Givike - 20/04/2008 21:57 (laatste wijziging 20/04/2008 21:58)
Avatar van Givike Nieuw lid 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


Ik krijg nu deze fout, dit snap ik helemaal niet? Line 1 wordt toch mijn DOCTYPE gespecifieerd en wordt automatisch door men dreamweaver gegenereerd. Heeft dit te maken met mijn SQL databank? ik gebruik phpMyAdmin 2.11.4

de naam van men databank etc is juist.

Naam databank: databank
Tabelnaam: tabelrecepten
Fields: IDRECEPT, YTLINK, INGRED, DESCRI
Offline Rens - 20/04/2008 21:58
Avatar van Rens Gouden medaille

Crew algemeen
Het gaat over lijn 1 van je SQL query 
En zoals ik al zei:
Rens schreef:
@Givike, de fout zegt dat $id leeg is.
Dus er staan geen ?id= in de url op dat moment...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.284s