login  Naam:   Wachtwoord: 
Registreer je!
 Forum

OUTER JOIN

Offline leendert - 05/11/2005 13:15 (laatste wijziging 05/11/2005 13:15)
Avatar van leendertHTML beginner wat is er fout aan deze query?
  1. $sQuery = sprintf("
  2. SELECT
  3. adresboek.*,
  4. gebruikers.*
  5. FROM
  6. adresboek
  7. OUTER JOIN
  8. gebruikers
  9. ON
  10. (adresboek.id = gebruikers.gebruikers_id)
  11. WHERE
  12. adresboek.naam LIKE '".$_GET['letter']. "%%'
  13. OR
  14. gebruikers.naam LIKE '".$_GET['letter']. "%%'
  15. ");


de foutmelding:
Databaseerror 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 'OUTER JOIN gebruikers ON (adresboek.

13 antwoorden

Gesponsorde links
Offline vinTage - 05/11/2005 13:24
Avatar van vinTage Nieuw lid Moet er 2 keer % achter die LIKE ?

ik ben in leerfase hoor, maar ik dacht maar eentje.
Offline leendert - 05/11/2005 13:30
Avatar van leendert HTML beginner nee moeten er 2 zijn ivm de functie sprintf()
Offline Ibrahim - 05/11/2005 14:57
Avatar van Ibrahim PHP expert zet erachter mysql_error();

dan weet je precies wat de fout is 
Offline Frederic - 05/11/2005 15:00
Avatar van Frederic PHP ver gevorderde Probeer eens backticks te gebruiken.
Offline leendert - 05/11/2005 15:05
Avatar van leendert HTML beginner nee ik ga geen backticks gebruiken want daar ligt het ook niet aan ( ik heb geen gereserveerde mysql namen) want als ik een LEFT JOIN doe krijg ik geen fout maar niet de goede waardes terug.
Offline Ultimatum - 05/11/2005 15:22
Avatar van Ultimatum PHP expert en als je zoals sillicom14 er nou or die (mysql_error()); achter zet dan, met die error die je dan krijgt kan je veel meer 
Offline leendert - 05/11/2005 15:31
Avatar van leendert HTML beginner Dat heb ik ook wel anders wist ik de error ook niet:S

if (($rQuery=$db->getAll($sQuery))===false) {
echo "Databaseerror ".mysql_error();
} else {

daar komt dus die fout uitrollen
Offline ikkedikke - 05/11/2005 15:44
Avatar van ikkedikke PHP expert tis maar een gokje maar probeer eens "RIGHT JOIN"
wat is hierover te vinden in die mysql manual?
Offline Stijn - 05/11/2005 15:44
Avatar van Stijn PHP expert tsss, als je OUTER JOIN hoort moet je denken: RIGHT, LEFT, FULL.

ik zou gewoon FULL OUTER JOIN zetten ipv OUTER JOIN
Offline leendert - 05/11/2005 15:52
Avatar van leendert HTML beginner ik zou gewoon FULL OUTER JOIN zetten ipv OUTER JOIN

Blijft dezelfde fout geven
Offline Stijn - 05/11/2005 15:55
Avatar van Stijn PHP expert en LEFT OUTER JOIN, RIGHT OUTER JOIN...

anders gebruik je INNER JOIN
Offline leendert - 05/11/2005 16:04
Avatar van leendert HTML beginner en LEFT OUTER JOIN, RIGHT OUTER JOIN...

anders gebruik je INNER JOIN

Die werken wel allemaal maar daar heb ik niks aan omdat ik ALLE DATA uit beide kolommen wil hebben en niet pas als iets matcht.
Offline Thomas - 05/11/2005 18:49
Avatar van Thomas Moderator OUTER JOIN moet vooraf gegaan worden door LEFT of RIGHT.

Wat jij eigenlijk wilt is de vereniging van twee query-resultaat-verzamelingen (namelijk de twee condities in het WHERE-deel).

Je zou hiervoor UNION kunnen gebruiken, maar ik zie niet in waarom je deze twee tabellen zou willen combineren tot één result-set.

Het is, als al het overige niet lukt, niet dodelijk om gewoon twee queries uit te voeren .
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.189s