Re: mysql_query - Mehrere Datenbanken ?

Re: mysql_query - Mehrere Datenbanken ?

am 06.04.2006 12:32:08 von dev-null-use-reply-adress

Hallo Thomas,

vorab: Deine Frage gehört mind. nach de.comp.lang.php.datenbanken
(ich kündige schon mal ein f'up2 an),
wenn nicht gar nach de.comp.datenbanken.mysql.

Thomas Barth schrieb:
> ich habe ein Verständnisproblem mit mysql_select_db(). Mit folgenden
> Anweisungen wird ja eine Verbindung zu einem Datenbankhost hergestellt
> und eine Datenbank ausgewählt. Hier beziehe ich mich auch nur auf _eine_
> Datenbank.
>
> $hndDB = mysql_connect($host, $user, $pw);

Du stellt eine Verbindung zum MySQL-Server her.

> mysql_select_db ($db, $hndDB);

Du selektierst eine Datenbank als Standard-Datenbank. Das ist im Grunde
genommen nur eine Vereinfachung und bedeutet nicht, daß man dann
nur auf dieser arbeiten kann.

> Nun habe ich aber einen Select gesehen, bei dem auf mehrere Datenbanken
> zugegriffen wird, obwohl in der Funktion mysql_select_db nur ein
> Datenbankhandle angegeben wird.
>
> SELECT ...
> FROM db1.table1
> LEFT JOIN db2.table1 ON (db3.table1 = db4.table1)
> LEFT JOIN db1.table2 ON (db4.table1 = db5.table1 AND db4.table2 =
> db5.table2)
> WHERE ...
> AND db3.table2
>
> Das soll gehen?

Aber gewiss doch ;-) Solange der Benutzer, der die Verbindung hergestellt
hat, auch auf die anderen Datenbanken zugreifen darf, ist kein Problem.
Vergleiche auch: http://dev.mysql.com/doc/refman/4.1/en/select.html
Auszug: "You can refer to a table within the default database as tbl_name,
or as db_name.tbl_name to specify a database explicitly."

> Ich habe mir
> http://de.php.net/manual/en/function.mysql-select-db.php durchgelesen,
> wonach es eigentlich nicht funktionieren sollte.

Das steht da nicht. OK, etwas unglücklich drücken sie sich dort schon aus.


Gruß
JPM