Am tabele separate pentru utilizatori și domenii. Când un domeniu este marcat ca neactiv, vreau ca toți utilizatorii acelui domeniu să eșueze autentificarea.
Această interogare funcționează bine.
interogare_parolă = \
SELECTARE CONCAT("5500") AS gid, CONCAT("5500") AS uid, \
CONCAT("/mail/dir/",'%d','/','%n') CA acasă,E-mail ca utilizator, Parolă ca parolă \
FROM users_table WHERE Email='%u' AND active=1;
Acum încerc să adaug o verificare pentru a vedea dacă domeniul este marcat ca activ. Adăugând SELECTează DomainName FROM domains_table UNION
. (Pe care îl voi extinde mai târziu) Dar când adaug acest lucru, interogarea eșuează. Numele și anteturile tabelelor sunt corecte. De ce această linie ar cauza eșuarea interogării?
În plus, sunt susținute aici declarațiile condiționate? Aș dori să adaug IF (domeniul este activ) THEN (treceți interogarea)
interogare_parolă = \
SELECTează DomainName FROM domains_table \
UNION SELECT CONCAT("5500") AS gid, CONCAT("5500") AS uid, \
CONCAT("/mail/dir/",'%d','/','%n') CA acasă,E-mail ca utilizator, Parolă ca parolă \
FROM users_table WHERE Email='%u' AND active=1;
Fiecare interogare pare să funcționeze numai dacă returnează variabilele gid, uid, home, user și parolă.
Mulțumiri