Avatar billede nizo Nybegynder
24. december 2005 - 12:16 Der er 10 kommentarer og
1 løsning

To åbne databaser?

hej,

jeg sidder i et lille problem, hvordan kan jeg have to databaser paa samme server, paa samme tid? Det er fordi jeg skal bruge nogle data fra den ene database mens jeg henter noget data ud fra en anden.. Jeg kan ikke skifte database forbindelse, da jeg er lige midt i et while loop.. Er det muligt at have to aabne forbindelser?
Avatar billede nizo Nybegynder
24. december 2005 - 12:18 #1
Det er forreste MySQL databaser der er tale om her..
Avatar billede arne_v Ekspert
24. december 2005 - 12:31 #2
ja

du skal bare huske eksplicit at angive connection i mysql_query kald
Avatar billede taskmgr Nybegynder
24. december 2005 - 12:40 #3
Hmm... hvis det er samme server de ligger på, så skulle det være nok at bruge mysql_select_db(). Eks.

$link = mysql_connect(...);
mysql_select_db("db1", $link);

$sql = "SELECT * FROM bla";
$res = mysql_query($sql, $link1);
while($r = mysql_fetch_array($res)){   
    ...
    mysql_select_db("db2", $link);
    $sql = "SELECT * FROM bla";
    $result = mysql_query($sql, $link);
    while($row = mysql_fetch_array($result)){
        ...
    }
}
Avatar billede arne_v Ekspert
24. december 2005 - 12:43 #4
medmindre PHP MySQL interface er anderledes end stort set alle andre
database API så kan man ikke hente data fra 2 forskellige queries samtidigt
på samme connection
Avatar billede nizo Nybegynder
24. december 2005 - 12:45 #5
arne_v. Dvs.

$db1 = mysql_select_db("db1", $connection);
$db2 = mysql_select_db("db2", $connection);

og naar jeg skal bruge dem:

mysql_query(" ... ", $db1);
mysql_query(".... ", $db2);

?
Avatar billede taskmgr Nybegynder
24. december 2005 - 12:46 #6
Det virker skam ganske udemærket.
Avatar billede arne_v Ekspert
24. december 2005 - 12:48 #7
nej

2 x mysql_connect

mysql_select_db på hver sin connection

mysql_query på hver sin connection
Avatar billede arne_v Ekspert
24. december 2005 - 12:51 #8
http://www.php.net/manual/en/function.mysql-connect.php

indlæget:

baldurien at club-internet dot fr
06-Oct-2005 01:13
Avatar billede nizo Nybegynder
24. december 2005 - 12:56 #9
jeg fik det til at virke med to connects, som du sagde, arne_v - smid et svar :o) Og ha en god jul
Avatar billede arne_v Ekspert
24. december 2005 - 13:02 #10
ok
Avatar billede arne_v Ekspert
24. december 2005 - 16:00 #11
i den præcise udforming af koden som taskmgr angiver 12:40:34 så virker
det med 1 connection

mysql_query bufferer resultatet, så hvis man laver en mysql_select_db + en eller
flere mysql_query men ikke nogen mysql_unbuffered_query, så kan man
roligt kalde mysql_select_db og alle mulige andre mysql kald da man så er færdig
med at bruge connection til det første
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester