login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Fout SQL (Opgelost)

Offline tychon - 01/12/2009 14:39
Avatar van tychonNieuw lid Ik heb een fout melding in mijn SQL.
Zie hieronder de melding:

  1. Error in query: SELECT t.Toeleverancier_ID, t.ToeleverancierVoornaam, t.Toeleverancier_Organisatie_ID, to.Toeleverancier_Organisatie_ID, to.ToeleverancierOrganisatieNaam FROM Toeleverancier AS t INNER JOIN Toeleverancier_Organisaties AS to ON t.Toeleverancier_Organisatie_ID = to.Toeleverancier_Organisatie_ID . 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 'to ON t.Toeleverancier_Organisatie_ID = to.Toeleverancier_Organisatie_ID' at line 9


en hier de query:
  1. $query =
  2. "
  3. SELECT
  4. t.Toeleverancier_ID,
  5. t.ToeleverancierVoornaam,
  6. t.Toeleverancier_Organisatie_ID,
  7. to.Toeleverancier_Organisatie_ID,
  8. to.ToeleverancierOrganisatieNaam
  9. FROM
  10. Toeleverancier AS t
  11. INNER JOIN Toeleverancier_Organisaties AS to ON t.Toeleverancier_Organisatie_ID = to.Toeleverancier_Organisatie_ID
  12. ";
  13. $resultLeveranciers = mysql_query($query) or die ("Error in query: $query. ".mysql_error());


Misschien weet iemand de oplossing, alvast bedankt!

8 antwoorden

Gesponsorde links
Offline ArieMedia - 01/12/2009 14:50
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
Dit is je 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 'to ON t.Toeleverancier_Organisatie_ID = to.Toeleverancier_Organisatie_ID' at line 9

De rotzooi die er voor staat is gewoon je query
Zijn de gekoppelde velden wel juist?
Offline tychon - 01/12/2009 14:59
Avatar van tychon Nieuw lid Zover ik kan zien zijn de velden juist.
Het is een oude DB en daarin werkten ze ook met Hoofdletters :S

Dit zijn de SQL's:
  1. --
  2. -- Tabel structuur voor tabel `Toeleveranciers`
  3. --
  4.  
  5. CREATE TABLE IF NOT EXISTS `Toeleveranciers` (
  6. `Toeleverancier_ID` int(10) unsigned NOT NULL,
  7. `ToeleverancierBeleefdheidstitel` char(8) default NULL,
  8. `ToeleverancierGeslacht` char(1) default NULL,
  9. `ToeleverancierVoorletters` char(8) default NULL,
  10. `ToeleverancierVoornaam` char(32) default NULL,
  11. `ToeleverancierTussenvoegsel` char(8) default NULL,
  12. `ToeleverancierAchterNaam` char(32) default NULL,
  13. `ToeleverancierTelefoonnummer` char(32) default NULL,
  14. `ToeleverancierMobielnummer` char(32) default NULL,
  15. `ToeleverancierEmailadres` char(32) default NULL,
  16. `ToeleverancierFunctie` char(32) default NULL,
  17. `ToeleverancierBijzonderheden` char(128) default NULL,
  18. `ToeleverancierGeboortedatum` date default NULL,
  19. `Toeleverancier_Organisatie_ID` int(10) NOT NULL,
  20. PRIMARY KEY (`Toeleverancier_ID`),
  21. KEY `ToeleverancierAchterNaam` (`ToeleverancierAchterNaam`),
  22. KEY `Toeleverancier_Organisatie_ID` (`Toeleverancier_Organisatie_ID`),
  23. KEY `ToeleverancierVoornaam` (`ToeleverancierVoornaam`)
  24. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
  25.  
  26. -- --------------------------------------------------------
  27.  
  28. --
  29. -- Tabel structuur voor tabel `Toeleverancier_Organisaties`
  30. --
  31.  
  32. CREATE TABLE IF NOT EXISTS `Toeleverancier_Organisaties` (
  33. `Toeleverancier_Organisatie_ID` int(10) unsigned NOT NULL,
  34. `ToeleverancierNummer` char(16) default NULL,
  35. `ToeleverancierOrganisatieNaam` char(32) default NULL,
  36. `ToeleverancierBezoekAdres` char(32) default NULL,
  37. `ToeleverancierBezoekPostcode` char(8) default NULL,
  38. `ToeleverancierBezoekPlaats` char(32) default NULL,
  39. `ToeleverancierPostAdres` char(32) default NULL,
  40. `ToeleverancierPostPostcode` char(8) default NULL,
  41. `ToeleverancierPostPlaats` char(32) default NULL,
  42. `ToeleverancierTelefoonnummer` char(32) default NULL,
  43. `ToeleverancierFaxnummer` char(32) default NULL,
  44. `ToeleverancierEmailadres` char(32) default NULL,
  45. `ToeleverancierBijzonderheden` char(128) default NULL,
  46. `ToeleverancierISDNcontactNaam` char(32) default NULL,
  47. `ToeleverancierISDNnummer` char(32) default NULL,
  48. PRIMARY KEY (`Toeleverancier_Organisatie_ID`),
  49. KEY `ToeleverancierNummer` (`ToeleverancierNummer`),
  50. KEY `ToeleverancierOrganisatieNaam` (`ToeleverancierOrganisatieNaam`)
  51. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Offline kurohyou - 01/12/2009 15:24
Avatar van kurohyou Oud lid t. en to. zijn niet juist, dit moeten Toeleveranciers en Toeleverancier_Organisaties zijn
Offline ArieMedia - 01/12/2009 15:27 (laatste wijziging 01/12/2009 15:30)
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
kurohyou schreef:
t. en to. zijn niet juist, dit moeten Toeleveranciers en Toeleverancier_Organisaties zijn
onzin, lees de SQL maar eens goed door, daar zie je dat hij ze hernoemt.

Edit: Ik moet zeggen dat het "Toeleverancier" gedeelte wat je voor de velden hebt gezet onnodig en alleen maar het lezen lastiger maakt.
Offline kurohyou - 01/12/2009 16:00
Avatar van kurohyou Oud lid oeps, ja sorry, had het even snel gelezen. Probeer het volgende eens :

SELECT
t.Toeleverancier_ID,
t.ToeleverancierVoornaam,
t.Toeleverancier_Organisatie_ID,
to.Toeleverancier_Organisatie_ID,
to.ToeleverancierOrganisatieNaam
FROM
Toeleverancier AS t,
Toeleverancier_Organisaties AS to
INNER JOIN to ON t.Toeleverancier_Organisatie_ID = to.Toeleverancier_Organisatie_ID
Offline ArieMedia - 01/12/2009 16:02 (laatste wijziging 01/12/2009 16:04)
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
kurohyou schreef:
oeps, ja sorry, had het even snel gelezen. Probeer het volgende eens :

SELECT
t.Toeleverancier_ID,
t.ToeleverancierVoornaam,
t.Toeleverancier_Organisatie_ID,
to.Toeleverancier_Organisatie_ID,
to.ToeleverancierOrganisatieNaam
FROM
Toeleverancier AS t,
Toeleverancier_Organisaties AS to
INNER JOIN to ON t.Toeleverancier_Organisatie_ID = to.Toeleverancier_Organisatie_ID

Volgensmij klopt die query niet. (nog nooit zo geprobeerd, maar het ziet er onlogisch uit)

Wat wel werkt

  1. SELECT
  2. t.Toeleverancier_ID,
  3. t.ToeleverancierVoornaam,
  4. t.Toeleverancier_Organisatie_ID,
  5. TO.Toeleverancier_Organisatie_ID,
  6. TO.ToeleverancierOrganisatieNaam
  7. FROM
  8. Toeleverancier AS t,
  9. Toeleverancier_Organisaties AS TO
  10. WHERE t.Toeleverancier_ID = TO.Toeleverancier_Organisatie_ID


Edit: Zoals je al in de highlighting ziet is "to" een gereserveerd woord in sql, verander to naar een andere naam en waarschijnlijk is je probleem opgelost.
Offline kurohyou - 01/12/2009 16:17
Avatar van kurohyou Oud lid maakt niet echt uit of je inner join of where gebruikt, is gewoon kwestie van persoonlijke smaak, ik gebruik bijna steeds inner join op mijn tabellen als ik met meerdere werk in een query.

dus onze query zijn eigenlijk identiek wat dat betreft, en idd TO is gereserveerd, goed gezien, soms zijn het de simpelste dingen waar we over kijken:p
Offline tychon - 01/12/2009 16:37 (laatste wijziging 01/12/2009 16:37)
Avatar van tychon Nieuw lid Het is weer opgelost :-)

Zoals ArieMedia als zei "Zoals je al in de highlighting ziet is "to" een gereserveerd woord in sql, verander to naar een andere naam en waarschijnlijk is je probleem opgelost."

En dit was dus ook het probleem. Heb er nu "tos" van gemaakt en het werkt!

Allemaal bedankt voor de moeite!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.423s