[mysql] Complexe Query

Pagina: 1
Acties:

  • Dentist
  • Registratie: December 2000
  • Laatst online: 21-08 16:28

Dentist

Next patient please...

Topicstarter
Ik heb de volgende query :

PHP:
1
2
3
4
5
6
7
$query = ("SELECT os.*, ok.*, op.* FROM Opdrachtsoort AS os
LEFT JOIN Opdrachten AS op ON os.OpdrachtID = op.OpdrachtID
LEFT JOIN OpdrachtKoppeling AS ok ON os.OpdrachtID = ok.OpdrachtID
WHERE ok.AD_ID IN ('$adviseur') AND (ok.rol = 1 OR ok.rol = 2)
AND (jaar BETWEEN '$van' AND '$tot')
AND organisatie IN ('$organisatie')
AND MATCH (op.Omschrijving) AGAINST ('$zoekterm')");


Ik print vervolgens de query en alle waarden worden prima ingevuld. Als ik die query vervolgens in phpmyadmin invoer, dan gebeurt er echter niks. Ik krijg geen foutmelding en ook geen 'the query has been executed'-melding, maar het textvak waar ik de query in heb gevuld, is weer leeg en de pagina is wel herladen (hij lijkt dus wel iets te doen). Ik krijg dus geen tabellen voor mijn neus, maar gewoon dezelfde pagina.

Alle onderdelen van de query zijn los getest en die zijn wel goed. De MySQL versie is 3.23.49.

Weet iemand wat dit kan veroorzaken?

Verwijderd

Krijg je ook niet de melding: "MySQL returned an empty result set (i.e. zero rows). (Query took 0.0051 sec)"??

  • Dentist
  • Registratie: December 2000
  • Laatst online: 21-08 16:28

Dentist

Next patient please...

Topicstarter
Nee, da's het gekke.. Kreeg ik maar iets, maar het scherm reload alleen maar lijkt het.. Zou het te maken kunnen hebben met fout-afhandeling van mijn provider´s mysql? En zoja, hoe check ik dat?

[ Voor 41% gewijzigd door Dentist op 31-08-2003 16:21 ]


Verwijderd

$query = ("SELECT os.*, ok.*, op.* FROM Opdrachtsoort AS os
LEFT JOIN Opdrachten AS op ON os.OpdrachtID = op.OpdrachtID
LEFT JOIN OpdrachtKoppeling AS ok ON os.OpdrachtID = ok.OpdrachtID
WHERE ok.AD_ID IN ('$adviseur') AND (ok.rol = 1 OR ok.rol = 2)
AND (jaar BETWEEN '$van' AND '$tot')
AND organisatie IN ('$organisatie')
AND MATCH (op.Omschrijving) AGAINST ('$zoekterm')");
Moeten hier dan niet die quotes weg en moet je die quotes in de variabelen ($adviseur,$organisatie) zelf toevoegen?? Het is maar een wilde gok van mij, dus ik weet het ook niet.... :D

[ Voor 8% gewijzigd door Verwijderd op 31-08-2003 16:34 ]


  • scorpie
  • Registratie: Augustus 2001
  • Laatst online: 00:14

scorpie

Supra Addict

probeer zo eens een foutmelding te krijgen:

PHP:
1
2
3
4
5
6
7
8
$query = ("SELECT os.*, ok.*, op.* FROM Opdrachtsoort AS os 
LEFT JOIN Opdrachten AS op ON os.OpdrachtID = op.OpdrachtID 
LEFT JOIN OpdrachtKoppeling AS ok ON os.OpdrachtID = ok.OpdrachtID 
WHERE ok.AD_ID IN ('$adviseur') AND (ok.rol = 1 OR ok.rol = 2) 
AND (jaar BETWEEN '$van' AND '$tot') 
AND organisatie IN ('$organisatie') 
AND MATCH (op.Omschrijving) AGAINST ('$zoekterm')");
$result = mysql_query($query) or die (mysql_errno() . ":" . mysql_error());

wil een Toyota Supra mkIV!!!!! | wil een Yamaha YZF-R{1,6} | wil stiekem ook een Ducati
"Security is just a state of mind"
PSN: scorpie | Diablo 3: scorpie#2470


  • Dentist
  • Registratie: December 2000
  • Laatst online: 21-08 16:28

Dentist

Next patient please...

Topicstarter
Blanko scherm...

  • scorpie
  • Registratie: Augustus 2001
  • Laatst online: 00:14

scorpie

Supra Addict

doe voor de gein eens na die $query = "";
een echo $query.. weet je gelijk wat er naar je dbase wordt gestuurd..

wil een Toyota Supra mkIV!!!!! | wil een Yamaha YZF-R{1,6} | wil stiekem ook een Ducati
"Security is just a state of mind"
PSN: scorpie | Diablo 3: scorpie#2470


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

dus je query is wel uitgevoerd alleen je krijgt geen data terug omdat er geen data is die matched misschien ;)

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Erkens: dan had ie dit toch terug moeten krijgen?

Professionele website nodig?


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21-08 18:29
curry684 schreef op 31 August 2003 @ 16:50:
Erkens: dan had ie dit toch terug moeten krijgen?
Dat is alleen als je het geechode query in PHPmyAdmin plakt.

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

curry684 schreef op 31 August 2003 @ 16:50:
Erkens: dan had ie dit toch terug moeten krijgen?
dat krijg ik nooit als ik een query doe zonder results :P

maar het is even te testen door een select count(*) te doen :)

  • Dentist
  • Registratie: December 2000
  • Laatst online: 21-08 16:28

Dentist

Next patient please...

Topicstarter
En daar is het hele probleem mee begonnen djluc, zie openingspost.. Bij een echo count zegt ie trouwens wel 0 records.. even terug naar de query...

[ Voor 38% gewijzigd door Dentist op 31-08-2003 17:04 ]


  • Dentist
  • Registratie: December 2000
  • Laatst online: 21-08 16:28

Dentist

Next patient please...

Topicstarter
Ok, ik heb het idee dat het in de regel WHERE organisatie IN ('$organisatie') foutgaat..

Ik doe een selectie van alles, waardoor $organisatie gevuld wordt met alle namen. Toch selecteert ie dan niets..

  • Dentist
  • Registratie: December 2000
  • Laatst online: 21-08 16:28

Dentist

Next patient please...

Topicstarter
Even voor de goede orde, $organisatie is gevuld vanuit een array met een foreach.

dus hij ziet er alsvolgt uit : Organisatie IN ('bla1, bla2, bla3')

Verwijderd

Dentist schreef op 31 August 2003 @ 17:21:
Even voor de goede orde, $organisatie is gevuld vanuit een array met een foreach.

dus hij ziet er alsvolgt uit : Organisatie IN ('bla1, bla2, bla3')
Zoals ik net al poste moet dit anders...

Dit moet Organisatie IN ('bla1','bla2','bla3') zijn, bij adviseur precies zo, anders ziet mysql alle teksten als 1 string...

[ Voor 13% gewijzigd door Verwijderd op 31-08-2003 17:28 ]


  • Dentist
  • Registratie: December 2000
  • Laatst online: 21-08 16:28

Dentist

Next patient please...

Topicstarter
that's it klappie.. ik had er ff overheen gelezen de eerste keer.. thx
Pagina: 1