Ein ganz anderer Lösungsansatz, der eigentlich genau für solche verteilten Datenserver gedacht ist, wäre die Verwendung der "Federated Storage Engine".
Siehe
http://dev.mysql.com/tech-resources/art ... orage.htmlIm Grunde gesehen definierst Du dann auf dem MySQL 5.0.5 Server eine Tabelle mit der gleichen Struktur wie sie physikalisch im anderen MySQL Server existiert, und gibst im Create Table Statement die Federated Storage Engine an und die passenden Zugangsdaten für einen Zugriff auf diesen Server (ich habe die entsprechenden Zeilen einfach aus der obigen Doku kopiert und nur die selbstsprechenden Namen "remote_db_..." eingesetzt):
- Code: Select all
CREATE TABLE ...
....
ENGINE=FEDERATED
DEFAULT CHARSET=latin1
CONNECTION='mysql://robin:mypassword@192.168.32.69:3306/remote_db_name/remote_table_name;
Wenn Du das hinbekommst (welche Vorbereitungen und Bedingungen erfüllt sein müssen findest Du alles in der Doku, so viel ist es nicht und ist auch nicht wirklich schwieirg), dann greifst Du im PHP Script nur noch auf einen Datenbankserver zu, sogar nur auf eine einzige Datenbank (Du legst diese Tabelle natürlich in die existierende DB), was nicht nur das PHP Problem löst, sondern Dir auch noch die volle SQL Funktionalität zur Verfügung stellt (insbesondere JOINs). Denn selbst wenn Du im PHP zwei Datenbankserver ansprechen kannst, so kannst Du die Daten nur auf PHP-Ebene verknüpfen, nicht auf SQL-Ebene.