Mit 2 Datenbanken in einem Programm arbeiten?

meycom

Well-known member
14 Oktober 2008
79
1
Ich brauch mal wieder Hilfeeeeeeee !!!
Wer kann mir helfen ?

Das ganze läuft unter dem localhost (xamp) ab. Die DB's werden ohne passwort geöffnet (zum Testen). Wenn ich mit nur einer DB arbeite funzt alles einwandfrei.

Ich benötige 2 DB's in einem Programm. Ich öffne mit :

$host = "localhost";
$user = "root";
$pass = "";
$database = "abc_meycom";
$dz1 = @mysql_connect($host, $user, $pass) OR DIE ("mysql_error()");
@mysql_select_db($database, $dz1);

und

$host1 = "localhost";
$user1 = "root";
$pass1 = "";
$database1 = "abc_test";
$dz2 = @mysql_connect($host1, $user1, $pass1) OR DIE ("mysql_error()");
@mysql_select_db($database, $dz2);

dann schreibe ich mit :

$query = "INSERT INTO logdatei SET
referer = '".addslashes($referer)."',
browser = '".addslashes($browser)."',
ip = '".addslashes($ip)."',
webseite = '".addslashes($webseite)."'
";
$dummy = mysql_query($query) or die (mysql_error());

irgendwas in meine logbuch-Tabelle
Dies wird ja in die DB2 ($dz2) geschrieben (glaube ich zu mindest). Danach schließe ich DB2 mit:

mysql_close($dz2);

nun will ich aus DB1 ($dz1) lesen:

$query = "SELECT id, hit_ges_in, hit_mon_in, mo_in FROM teilnehmer WHERE id = $knd";
$sql = mysql_query($query);
$ds = mysql_fetch_object($sql);

und schon bekomme ich nur noch Fehlermeldungen....
Hab ich im obigen Code schon ne 'Beule' drinn ?
Muß ich da was besonderes bei berücksichtigen - oder warum geht das nicht ?

gruß
Uwe
 
https://www.php.net/mysql_connect schrieb:
Für den Fall, dass ein zweiter Aufruf von mysql_connect() mit den gleichen Argumenten erfolgt, wird keine neue Verbindung aufgebaut, sondern die Verbindungs-Kennung der schon bestehenden Verbindung zurückgeliefert. Der Parameter neue_Verbindung beeinflusst dieses Verhalten und mysql_connect() öffnet immer eine neue Verbindung, sogar dann, wenn mysql_connect() zu einem früheren Zeitpunkt mit den gleichen Parametern aufgerufen wurde.
Bedeutet, Du musst beim mysql_connect() als 4ten Parameter ein true senden, dann sollte Dein Programm klappen.
 
Boaaahhh super - das klappt !!!!

ich häng schon den ganzen Tag an dem Problem - besten DANK !!!!
 
Wenn Du mehrere Datenbanken offen hast, würde ich mysql_query() immer mit zwei Parametern aufrufen und im zweiten die Verbindungskennung von der DB wo's hin soll ($dz1, $dz2).