Voor een snelle check kun je ook gewoon die $sql even op het scherm knallen:
die("SELECT
idm_ou.MSKEYVALUE_OU,
idm_ou.DISPLAYNAME,
idm_ou.Z_ORG_CODE,
idm_ou.Z_ORG_DN_CODE,
idm_ou.Z_REFERENCE_MX_MANAGER,
idm_person.MX_LASTNAME,
idm_person.ACHMEA_EMPLOYEENUMBER
FROM idm_ou ".$where."
INNER JOIN idm_person ON idm_ou.Z_REFERENCE_MX_MANAGER = idm_person.MSKEYVALUE_MEDEWERKER
ORDER BY `MSKEYVALUE_OU` ASC");
Dan plak je 'm in je database programma (HeidiSQL, phpMyAdmin) en draai je 'm daar. Die vertelt je dan precies wat er mis mee is.
O, ik zie het al: je JOIN komt na je WHERE. Het moet:
SELECT *
FROM tabel
JOIN andere_table ON dit = dat
WHERE zus = "zo"
Dus de WHERE na de evt. JOIN(S)
op het scherm komt mijn SQL er dan als volgt uit te zien:
SELECT idm_ou.MSKEYVALUE_OU, idm_ou.DISPLAYNAME, idm_ou.Z_ORG_CODE, idm_ou.Z_ORG_DN_CODE, idm_ou.Z_REFERENCE_MX_MANAGER, idm_person.MSKEYVALUE_MEDEWERKER, idm_person.MX_LASTNAME, idm_person.ACHMEA_EMPLOYEENUMBER INNER JOIN idm_person ON idm_ou.Z_REFERENCE_MX_MANAGER = idm_person.MSKEYVALUE_MEDEWERKER FROM idm_ou WHERE idm_ou.Z_ORG_DN_CODE LIKE "%40000001%" ORDER BY idm_ou.MSKEYVALUE_OU ASC
Er zal ongetwijf iets mis zijn (echter ik ziet het niet. Maar dat is niet zo moeilijk. Ben geen expert) maar het werkt toch ook niet :-) Zelfs niet als de WHERE na de JOIN plaats.
wanneer ik de sql in PHP Admin of HeidiSQL draai krijg ik onderstaande melding:
#1064 - Er is iets fout in de gebruikte syntax bij 'INNER JOIN idm_person ON idm_ou.Z_REFERENCE_MX_MANAGER = idm_person.MSKEYVALUE_M' in regel 1
daar wordt wat afgekapt (bold gemaakt)... Waarom geen idee.
Voor mij is het hardnekkige kost die ik (nog) niet kan doorgronden.....