PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mysql_select_db - Access denied for user


wti
10.05.2007, 21:54:04
viellleicht ist die Lösung ganz simpel... ich bin zwar ein alter Hase mit SQL, aber ein Frischling bei mySQL.
Die Problematik ist folgende: ich benötige für verschiedene Anwendungsbereiche Daten aus Tabellen in zwei unterschiedlichen Datenbanken.
Also dachte ich mir, dass ich zunächst die beiden DB verbinde:
$connection68 = mysql_connect($hostname68, $username68, $password68); UND
$connection129 = mysql_connect($hostname129, $username129, $password129);

Zum Zeitpunkt der entsprechenden Verarbeitung wähle ich dann die benötigte DB mit:
mysql_select_db($dbname68, $connection68) or die ("Datenbank $dbname68 nicht geöffnet"); ODER
mysql_select_db($dbname129, $connection129) or die ("Datenbank $dbname129 nicht geöffnet");

Allerdings funktioniert dies nicht und ich bekomme die Fehlermeldung:
Access denied for user: 'dbo175885299@%' to database 'db40652362'1146:Table 'db175885299.web' doesn't exist

dbo175885299 ist username129
db40652362 ist dbname68
d.h. bei dem mysql_select_db wird der zuletzt verwendete Benutzer - in diesem Fall username129 vom zweiten mysql_connect benutzt

Die Datenfelder haben den korrekten Inhalt und die Werte für user, database etc. sind ebenfalls korrekt.
Meine Vermutung: kann es sein, dass mysql_select_db nur in unmittelbarer Verbindung mit mysql_connect benutzt werden kann???
Kann mir das jemand bestätigen?

thx im vorraus
wti

wti
15.05.2007, 09:31:21
hallo zusammen,
vielen dank für die gedanken, die ihr euch gemacht habt. die lösung habe ich jetzt gefunden - ich weiß zwar nicht ob es die einzige lösung ist, aber so funktionierts - und gebe nun das wissen an alle weiter:

die weiteren mysql_select_db kann man sich wohl sparen. es funktioniert, wenn beim select die connection mitgegeben wird.


$sql_select ="SELECT ID from web";
$res = mysql_query($sql_select, $connection68);


thx