Voor het project waar ik momenteel aan werk, wil ik gebruik maken van een generiek gedeelte om queries uit te voeren. Deze query-resultaten moeten voorzien zijn van aanvullende informatie van de resultaatvelden. Ik gebruik PDO om de queries uit te voeren, maar ik denk dat dat er niet veel toe zal doen. Ik zie vooral problemen wanneer in twee databases, tabbelen bestaan met dezelfde naam.
Voorbeeldquery:
En om maar even helemaal een praktisch realistische casus op te stellen, heeft dbKlant2.klantGegevens 2 extra velden tussen de anderen.
Met PDO kan ik de tabelnaam eventueel nog achterhalen, maar volgens mij niet de database. Het zal dus moeilijk zijn om een SHOW COLUMNS query te koppelen? Ik kan de informatie wel opslaan in Arrays, maar om de dubbele tabelnaam te kunnen hanteren zal de databasenaam hierin ook een index moeten zijn, waardoor vanuit het MySQL-resultaat de terugkoppeling niet meer te maken is.
Hopelijk is mijn probleem duidelijk en kan iemand me op weg helpen?
Edit: Aliassen gebruiken voor de tabellen vind ik meer een workaround dan een oplossing - en ook niet erg mooi/generiek.
Voorbeeldquery:
code:
1
2
3
| SELECT *
FROM `dbKlant1`.`klantGegevens`,
`dbKlant2`.`klantGegevens` |
En om maar even helemaal een praktisch realistische casus op te stellen, heeft dbKlant2.klantGegevens 2 extra velden tussen de anderen.
Met PDO kan ik de tabelnaam eventueel nog achterhalen, maar volgens mij niet de database. Het zal dus moeilijk zijn om een SHOW COLUMNS query te koppelen? Ik kan de informatie wel opslaan in Arrays, maar om de dubbele tabelnaam te kunnen hanteren zal de databasenaam hierin ook een index moeten zijn, waardoor vanuit het MySQL-resultaat de terugkoppeling niet meer te maken is.
Hopelijk is mijn probleem duidelijk en kan iemand me op weg helpen?
Edit: Aliassen gebruiken voor de tabellen vind ik meer een workaround dan een oplossing - en ook niet erg mooi/generiek.
[ Voor 5% gewijzigd door r0bert op 29-07-2008 15:51 ]