Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Insert into in 2 verschiedene Datenbanken-wie?
Frage
Hallo,
ich hab da nen kleines Problem. Ich möchte Daten in zwei verschiedene Datenbanken speichern, die auf dem gleichen Server liegen. Dazu habe ich folgendes gemacht:
[code]
...
//in Datenbank act_login speichern
include 'sessionhelpers.inc.php';
mysql_select_db("act_login");
$eintragen="INSERT INTO login (aktivierung_act, aktivierung_user, aktivierungscode, benutzername, pass, mail, anrede, firma, name, vorname, strasse, ort, plz, land, homepage, telefon, telefax, newsletter, bemerkung, reg_zeit)"
."VALUES('0', '0', '$aktivlink', '$benutzername','$pass','$email','$anrede','$firma','$name','$vorname','$strasse','$ort','$plz','$land','$homepage','$telefon','$telefax','$newsletter','$bemerkung', now() )";
//mysql_query($eintragen);
//echo $eintragen;
//in Datenbank wbb eintragen
connect_wbb();
mysql_select_db("wbb");
$eintragen_wbb="INSERT INTO bb1_user_table (username, userpassword, useremail, regemail, groupid, activation, bbcode, users_may_email, mods_may_email, regdate )"."VALUES('$benutzername', '$pass', '$email', '$email', '3', '1', '1','1','1', now() )";
//mysql_query($eintragen_wbb);
...
[/code]
In include 'sessionhelpers.inc.php'; wird automatisch die Funktion connect() aufgerufen:
[code]
function connect()
{
$con=mysql_connect('localhost','root','XXX') or die (mysql_error());
mysql_select_db('act_login',$con) or die (mysql_error());
}
[/code]
In der Funktion connect_wbb() steht:
[code]
function connect_wbb()
{
$con_wbb=mysql_connect('localhost','root','XXX') or die (mysql_error());
mysql_select_db('wbb',$con_wbb) or die (mysql_error());
}
[/code]
Mein Problem ist nun, dass er in die 2. Datenbank probemlos speichert, also in Datenbank wbb, aber in der ersten, also act_login, bekomme ich folgenden Fehler angezeigt:
Table 'wbb.login' doesn't exist.
Hat jemand eine Lösung??
Danke, Kathrin
Antwort 1 von semi
Übergebe die Verbindung an mysql_query
also
mysql_query ( string Anfrage [, resource Verbindungs-Kennung])also
$db1 = mysql_connect(...);
$db2 = mysql_connect(...);
...
...
mysql_query(..., $db1);
mysql_query(..., $db2);
Antwort 2 von kathrin-77
Hm, also ich kriegs irgendwie nicht gebacken. Kann mir das jemand an meinem Beispiel zeigen??
Ich habe nun folgendes gemacht:
Nun bekomme ich folgende Fehlermeldung:
mysql_query(): supplied argument is not a valid MySQL-Link resource in /opt/lampp/htdocs/Verzeichnis/login/registrierung.php on line 227 U N D
mysql_query(): supplied argument is not a valid MySQL-Link resource in /opt/lampp/htdocs/Verzeichnis/login/registrierung.php on line 237
In Zeile 227 steht:
."VALUES('0', '0', '$aktivlink', '$benutzername','$pass','$email','$anrede','$firma','$name','$vorname','$strasse','$ort','$plz','$land','$homepage','$telefon','$telefax','$newsletter','$bemerkung', now() )",$con);
In Zeile 237:
mysql_query($eintragen_wbb,$con_wbb);
Was mache ich falsch?
Danke
Ich habe nun folgendes gemacht:
...
//in Datenbank act_login speichern
include 'sessionhelpers.inc.php';
mysql_select_db("act_login");
$eintragen=mysql_query("INSERT INTO login (aktivierung_act, aktivierung_user, aktivierungscode, benutzername, pass, mail, anrede, firma, name, vorname, strasse, ort, plz, land, homepage, telefon, telefax, newsletter, bemerkung, reg_zeit)"
."VALUES('0', '0', '$aktivlink', '$benutzername','$pass','$email','$anrede','$firma','$name','$vorname','$strasse','$ort','$plz','$land','$homepage','$telefon','$telefax','$newsletter','$bemerkung', now() )",$con);
//mysql_query($eintragen);
//echo $eintragen;
//in Datenbank wbb eintragen
connect_wbb();
mysql_select_db("wbb");
$eintragen_wbb="INSERT INTO bb1_user_table (username, userpassword, useremail, regemail, groupid, activation, bbcode, users_may_email, mods_may_email, regdate )"."VALUES('$benutzername', '$pass', '$email', '$email', '3', '1', '1','1','1', now() )";
mysql_query($eintragen_wbb,$con_wbb);
...
Nun bekomme ich folgende Fehlermeldung:
mysql_query(): supplied argument is not a valid MySQL-Link resource in /opt/lampp/htdocs/Verzeichnis/login/registrierung.php on line 227 U N D
mysql_query(): supplied argument is not a valid MySQL-Link resource in /opt/lampp/htdocs/Verzeichnis/login/registrierung.php on line 237
In Zeile 227 steht:
."VALUES('0', '0', '$aktivlink', '$benutzername','$pass','$email','$anrede','$firma','$name','$vorname','$strasse','$ort','$plz','$land','$homepage','$telefon','$telefax','$newsletter','$bemerkung', now() )",$con);
In Zeile 237:
mysql_query($eintragen_wbb,$con_wbb);
Was mache ich falsch?
Danke
Antwort 3 von semi
$db1 = mysql_connect(...);
// Wenn connect gescheitert
if(mysql_errno())
{
// Fehlerbehandlung
}
mysql_select_db(..., $db1);
// Wenn select_db gescheitert
if(mysql_errno())
{
// Fehlerbehandlung
}
mysql_query(..., $db1);
// Wenn query gescheitert
if(mysql_errno())
{
// Fehlerbehandlung
}
...
$db2 = mysql_connect(...);
... // Fehlerbehandlung
mysql_select_db(..., $db2);
... // Fehlerbehandlung
mysql_query(..., $db2);
... // Fehlerbehandlung
Schau Dir die Beschreibung der mysql-Funktionen im PHP-Handbuch an.

