MySQL Connect

akeck

Grünschnabel
Hallo,

ich hoffe dass ich hier richtig bin denn es geht um einen Datenbank Connect aus PHP
zu einer MySQL Datenbank.

Ich benötige den Zugriff auf gleichzeitig 2 Datenbanken, die aber unter unterscheidlichen
IP Adressen geführt werden. Den Connect mache ich wie folgt:

mysql_connect("123.456.789", "user1", "passwort1") or die("Datenbank konnte nicht konnektiert werden!");
mysql_select_db("tabelle1") or die("Fehler beim Öffnen der Datenbank!");

(Klappt auch soweit)

Nun mache ich einen Connect zu der 2ten DB:

mysql_connect("789.456.123", "user2", "passwort2") or die("Datenbank konnte nicht konnektiert werden!");
mysql_select_db("tabelle2") or die("Fehler beim Öffnen der Datenbank!");

Geht auch, nur mit dem nachteil dass nun die erste Verbindung ja nicht mehr besteht. Im anschluß daran muss ich wieder einen connect zu der ersten DB herstellen.

Und hier wollte ich fragen ob es hier nicht eine andere Lösung gibt, so dass der connect nur einmal hergestellt werden muss, denn mein Code sieht momentan so aus:

Code:
mysql_connect("789.456.123", "user2", "passwort2") or die("Datenbank konnte nicht konnektiert werden!");
mysql_select_db("tabelle2") or die("Fehler beim Öffnen der Datenbank!"); 
$getstatus = mysql_query("SELECT nick, lastip FROM chat1_chatusers WHERE (active = '1')");
		while ($status1=mysql_fetch_array($getstatus))	
		{
$userr = $status1['nick'];
$ip = $status1['lastip'];
		
	if ($userr)	
	{
mysql_connect("123.456.789", "user1", "passwort1") or die("Datenbank konnte nicht konnektiert werden!");
mysql_select_db("tabelle1") or die("Fehler beim Öffnen der Datenbank!"); 

$res = mysql_query("UPDATE ipblock SET user ='$userr', ip='$ip', time='$countflag', chat='1' WHERE (user = '$userr')");

mysql_connect("789.456.123", "user2", "passwort2") or die("Datenbank konnte nicht konnektiert werden!");
mysql_select_db("tabelle2") or die("Fehler beim Öffnen der Datenbank!"); 
	}

		}

Denke dass das auch einfacher geht, ohne dass man hier ständig hin und her switchen muss. Kann mir da jemand weiterhelfen?

Gruß

Andreas
 
mysql_connect() gibt Dir einen Resource-Identifier zurueck. Diesen kannst Du nutzen um spaeter die entsprechende Datenbank zu bestimmen.

Beispiel:
PHP:
$db1=mysql_connect("host1","user1","pw1");
$db2=mysql_connect("host2","user2","pw2");
 
Wenn ich das mache, dann ist dann bekomme ich nur zur 1ten DB keinen connect.
Ich hab hier mal eine config.php gemacht die ich include, in der ich die beiden connects drin stehen hab in der Form:

$db1=mysql_connect("host1","user1","pw1");
mysql_select_db("datenbank1") or die("Fehler beim Öffnen der Datenbank!");

$db2=mysql_connect("host2","user2","pw2");
mysql_select_db("datenbank2") or die("Fehler beim Öffnen der Datenbank!");

Die Verbindung zur db2 geht, jedoch nicht zu der ersten.

Wie müsste denn der Zugriff auf die erste DB aussehen?

Beispiel:

$getstatus = mysql_query("SELECT nick, lastip FROM chat1_chatusers WHERE (active = '1')");
while ($status1=mysql_fetch_array($getstatus))
{
$userr = $status1['nick'];
}
 
Zurück