anpera.net https://anpera.dyndns.org/phpbb3/ |
|
2 mal DB-Zugriff https://anpera.dyndns.org/phpbb3/viewtopic.php?f=25&t=4081 |
Seite 1 von 1 |
Autor: | Desperare_Luzifel [ So 21 Okt, 2007 01:42 ] |
Betreff des Beitrags: | 2 mal DB-Zugriff |
Ich hab mal ne Frage O.o Und zwar, wie kann ich es machen, das mein LotGD auf 2 Datenbanken zugreift? Und vor allem, wie lese ich dann die SQL aus in den Scripts von der richtigen Datenbank? Wäre toll wenn mir da wer helfen könnte ![]() |
Autor: | Harthas [ So 21 Okt, 2007 03:06 ] |
Betreff des Beitrags: | |
Wichtig dafür ist vor allem die Funktion mysql_select_db. [php] <?php #Zugriff auf die Standartdatenbank $sql = "SELECT `acctid` FROM `accounts`"; mysql_query($sql); #Wechsel der Datenbank mysql_select_db("forum"); #Zugriff auf die neue Datenbank $sql = "SELECT `sonst_was` FROM `tadaaa`"; mysql_query($sql); #Standart wiederherstellen mysql_select_db("logd"); ?> [/php] Ich würde zumindest behaupten, dass es ungefähr so sein müsste... |
Autor: | Desperare_Luzifel [ So 21 Okt, 2007 03:19 ] |
Betreff des Beitrags: | |
Danke, werd es testen^^ Aber mit der dbconnect.php wird ja Verbindung zur Datenbank aufgebaut, wie mach ich das das er von da aus auch auf 2 Datenbanken zu greift? Oder muss ich da Nichts weiter dran ändern?^^ |
Autor: | Arath [ So 21 Okt, 2007 03:58 ] |
Betreff des Beitrags: | |
Du kannst dir bei einem Hoster doch bestimmt mehrere Datenbanken anlegen ... und wenn du ja dann ne 2 Datenbank anlegst haste doch genau die gleichen Daten wie bei der der ersten Datenbank .. So ist es bei mir zumindest ![]() |
Autor: | Harthas [ So 21 Okt, 2007 08:57 ] |
Betreff des Beitrags: | |
An der musst du eigentlich nix ändern |
Autor: | Kevz [ So 21 Okt, 2007 10:31 ] |
Betreff des Beitrags: | |
Du kannst es auch VIEL EINFACHER machen, als jeweils eine neue Datenbank zu Selektieren. Zu meiner Zeit ging es noch einwandfrei, sollte zum jetztigen Zeitpunkt immer noch funktionieren. Siehe dazu hier: [php]// Datenbank: Erste $sql = 'SELECT `name` FROM `accounts`'; $first= db_fetch_assoc(db_query($sql)); // Datenbank: Zweite $sql = 'SELECT `name` FROM `db`.`accounts`'; $second= db_fetch_assoc(db_query($sql));[/php] |
Autor: | Auric [ So 21 Okt, 2007 10:55 ] |
Betreff des Beitrags: | |
Die Frage die sich mir stellt ist folgende: Meinst du zwei unterschiedliche Datenbanken auf einem Server oder zwei unterschiedliche (MySQL-)Server? Das erste ist wie bereits erwähnt recht simpel zu erledigen: Wenn es nur für ein oder zwei Abfragen dient würde ich KevZ Variante empfehlen - einfach vor den Tabellennamen in der FROM-Klausel den Datenbanknamen mit einem Punkt anhängen. Sollten es mehrere Abfragen sein, so hast die möglichkeit, dies über einen SQL-Query oder eine php-Funktion auszudrücken: [php]mysql_select_db("DAAAAATENBANK"); // oder: db_query("USE DAAAAATENBANK");[/php] Solltest du nicht KevZ variante verwenden, musst du aber beachten, das du, wenn du wieder zu deiner "normalen" DB zurückkehren möchtest, das ganze noch mal mit dem namen eben jener "normalen" DB ausführen musst: [php] // Ein normaler Query auf der Standard-DB $result = db_query("SELECT name FROM accounts WHERE acctid=1"); $row = db_fetch_assoc($result); // Jetzt Wechseln wir die DB: db_query("USE andere_db"); // Jetzt können wir querys auf die andere DB ausführen: $result2 = db_query("SELECT anderer_name FROM weitere_accounts WHERE eine_id = 2"); $row2 = db_fetch_assoc($result2); // Zu guter letzt wechseln wir nun also wieder zurück zur ersten DB db_query("USE standard_db"); [/php] ich hoffe mal, das hilft dir weiter. Auric PS: man kann die methoden auch durchaus kombinieren... probiere es einfach mal aus. |
Autor: | Kevz [ So 21 Okt, 2007 11:05 ] |
Betreff des Beitrags: | |
Öhm Auric? Meins funzelt gewiss so. . . da muss man keine DB zurück Selektieren o.Ä. Das war schon so gewiss abgesehen. ![]() ![]() |
Autor: | Desperare_Luzifel [ So 21 Okt, 2007 11:53 ] |
Betreff des Beitrags: | |
Danke leutz, ich werd es mir merken und so machen^^ Echt vielen dank *alle ma knuddel* ![]() |
Autor: | Auric [ So 21 Okt, 2007 15:20 ] |
Betreff des Beitrags: | |
Auric hat geschrieben: [...]Solltest du nicht KevZ variante verwenden, musst du aber beachten, das du, wenn du wieder zu deiner "normalen" DB zurückkehren möchtest, das ganze noch mal mit dem namen eben jener "normalen" DB ausführen musst:[...]
Schon klar ^^ |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |