Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

Zwei Datenbankverbindungen?

Diskussion: Zwei Datenbankverbindungen? im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo zusammen. Ich versuche gerade folgendes: Ein PHP Script liest aus diversen Tabellen einer Datenbank bestimmte Datensätze in einer ...

Antwort
Alt 09.10.08, 12:49   #1 (permalink)
 
Registriert seit: 09.10.01
|sNaKe| Leistung: Facit NTK
Likes: 0
Zwei Datenbankverbindungen?

Anzeige

Hallo zusammen.
Ich versuche gerade folgendes:

Ein PHP Script liest aus diversen Tabellen einer Datenbank bestimmte Datensätze in einer while Schleife aus. Innerhalb dieser whileschleife kann ich mir ja nun wunderbar die Datensätze bei denen die Bedingung zutraf ausgeben lassen.

Jetzt würde diese aber, statt sie ausgeben zu lassen gerne in eine ANDERE Datenbank einfügen lassen.

Leider bekomme ich das nicht hin. Ist das überhaupt möglich?

Hoffe das sind nicht zu wenige Informationen für euch.

|sNaKe| ist offline   Mit Zitat antworten
Alt 09.10.08, 13:10   #2 (permalink)
 
Benutzerbild von metax.
 
Registriert seit: 22.01.07
metax. Leistung: 8086
metax. eine Nachricht über ICQ schicken
Likes: 10
Standard

Ja.
mysql_connect() gibt dir ein Objekt vom Typ resource zurück.
http://de.php.net/mysql_connect

Du kannst mit mysql_connect() mehrere Verbindungen öffnen und bei den mysql-Befehlen (mysql_query(), mysql_select_db(), ...) als Optionalen Parameter eine Verbindungsresource angeben.

PHP-Code:
<?php
$link_in 
mysql_connect('localhost''user1''pass1');
$link_out mysql_connect('localhost''user2''pass2'true);
mysql_select_db('database1'$link_in);
mysql_select_db('database2'$link_out);

$result mysql_query('select * from table1'$link_in);
while (
$row mysql_fetch_assoc($result)) {
mysql_query("insert into table2 (id, key, value) values (" $row['id'] . ", '" $row['field1'] . "', '" $row['field2'] . "');"$link_out);
}
mysql_close($link_in);
mysql_close($link_out);

?>
mfg, metax.
__________________
Wenn keiner zuschaut, teile ich heimlich durch Null!
Meine Homepage: Planet Metax | meine Bilder: DeviantArt | Twitter
metax. ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 09.10.08, 14:05   #3 (permalink)
Themenstarter
 
Registriert seit: 09.10.01
|sNaKe| Leistung: Facit NTK
Likes: 0
Standard

Autsch!
Danke metax.

Das war nun eigentlich zu simpel.
|sNaKe| ist offline   Mit Zitat antworten
Alt 10.10.08, 17:19   #4 (permalink)
 
Registriert seit: 22.10.07
AmShaegar Leistung: Facit NTK
Likes: 0
Standard

Außerdem gäbs folgende möglichkeit, falls man die Daten zuerst alle ausliest und dann alle in die neue Datenbank schreibt:

Hat man beim Verbindungsaufbau zur Datenbank die Verbindungdaten in einer Variable gespeichert kann auch diese problemlos beendet werden. Das ist allerdings nicht unbedingt erforderlich und ich persönlich mache es eigentlich nie. Sinn hätte es, wenn man mehrere Datenbanken abfragt bzw. abfragen muss. Der Befehl dazu lautet so:
PHP-Code:
<?php
$verbindung 
mysql_connect("dbbenutzer-xy.mein-hoster",   "schattenbaum","schatten");
mysql_select_db("db1-schattenbaum");
... 
diverse Abfragen etc. ...
mysql_close($verbindung);
?>
Damit ist die Verbindung in der Variable verbindung gespeichert und wird, nachdem alle Abfragen etc. ausgeführt wurden über den Befehl mysql_close wieder geschlossen.
- http://schattenbaum.net/php
AmShaegar ist offline   Mit Zitat antworten
Alt 10.10.08, 17:46   #5 (permalink)
 
Registriert seit: 18.11.06
damaxxed Leistung: Facit NTK
Likes: 0
Standard

Die 2. Verbindung ist nicht unbedingt notwendig. Man kann auch per mysql_query("SELECT * FROM datenbank1.tabelle1, datenbank2.tabelle2"); verschiedene Datenbanken abfragen.
damaxxed ist offline   Mit Zitat antworten
Alt 10.10.08, 18:15   #6 (permalink)
 
Registriert seit: 22.10.07
AmShaegar Leistung: Facit NTK
Likes: 0
Standard

Und wie bringt man dann Benutzername und Passwort der beiden datenbanken unter?
AmShaegar ist offline   Mit Zitat antworten
Alt 10.10.08, 21:15   #7 (permalink)
Member of Honour
 
Benutzerbild von easteregg
 
Registriert seit: 14.09.07
easteregg Leistung: Pentium Ieasteregg Leistung: Pentium I
easteregg eine Nachricht über ICQ schicken
Likes: 62
Standard

die variante setzt vorraus, dass der user auf beide datenbanken zugreifen kann
__________________
» Flattr mich! - Wenn dir mein Beitrag geholfen hat! «
<| 2 AMD Opterons 2384@ 8x3,2ghz | Tyan S2915 | 10GB | 2x 8800GT | 8400GS | Dell 3008WFP + 2x2007FP |>
easteregg ist offline   Mit Zitat antworten
Alt 11.10.08, 00:13   #8 (permalink)
 
Registriert seit: 22.10.07
AmShaegar Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von easteregg
die variante setzt voraus (autom. korrigiert), dass der user auf beide datenbanken zugreifen kann
Was soviel heißt wie, man muss nen eigenen Server haben oder gemietet haben, um letztere Methode zu benutzen, richtig?
AmShaegar ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » Zwei Datenbankverbindungen?
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ein Game für Zwei Krale1 Kaufberatung 9 29.06.08 11:29
Zwei Monitore ghostdog Linux/UNIX 12 09.05.06 17:56
zu zwei Prozessen ????? Windows 4 09.03.04 06:47
Zwei Soundkarten mhmedia Hardware Probleme 8 25.10.03 10:04
zwei rechner mit w-lan wechsler Network · LAN, WAN, Firewalls 2 12.12.02 23:07


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61