|
| Åbne flere databaser Fra : Jimmy |
Dato : 19-09-03 16:56 |
|
Hej
Jeg skal tilgå to databaser på forskellige servere.
Jeg åbner den ene DB som nedenfor:
------
$Link = mysql_connect("host", "user", "pass") or die("Could not connect");
mysql_select_db("db") or die("Could not select database");
while
{
# lav SELECT i anden DB på anden server
}
------
Men åbner jeg den anden på samme måde går det jo galt...
Hvad gør jeg så?
mvh
Jimmy
| |
Tonni Aagesen (19-09-2003)
| Kommentar Fra : Tonni Aagesen |
Dato : 19-09-03 19:04 |
|
Jimmy wrote:
> Jeg skal tilgå to databaser på forskellige servere.
> Jeg åbner den ene DB som nedenfor:
>
> ------
> $Link = mysql_connect("host", "user", "pass") or die("Could not connect");
> mysql_select_db("db") or die("Could not select database");
>
> while
> {
> # lav SELECT i anden DB på anden server
> }
>
> ------
Læser manualen: http://dk.php.net/manual/en/function.mysql-select-db.php
Hint: mysql_select_db kan tage to params
Mvh
Tonni
| |
Jimmy (19-09-2003)
| Kommentar Fra : Jimmy |
Dato : 19-09-03 18:33 |
|
"Tonni Aagesen" <use.my@signature.please> wrote in message
news:bkf9do$eue$1@sunsite.dk...
> Hint: mysql_select_db kan tage to params
Jeg løber som sagt en tabel igennem på den ene server.
Inden i dette loop åbner jeg så den nye DB, laver mine SELECTs, lukker den
ikke igen, og vælger den gamle database igen, men så snart jeg kommer ud af
loopet er det DB-2 er valgt...
-----
$Link = mysql_connect("host", "user", "pass") or die("Could not connect");
mysql_select_db("db", $Link) or die("Could not select database");
while
{
# Aabn DB-2
$Link2 = mysql_connect("host", "user", "pass") or die("Could not
connect");
mysql_select_db("db", $Link2) or die("Could not select database");
# lav SELECT i anden DB på anden server
# Vaelg DB-1 igen
mysql_select_db("db", $Link) or die("Could not select database");
}
# Vaelg DB-1 igen
mysql_select_db("db", $Link) or die("Could not select database");
# SELECT i DB-1 fejler da, php tror DB-2 er valgt
-----
Jeg har forsøgt med ovenstående (hvor jeg vælger DB-1 to gange) men det
hjælper ikke.
Hvad er det jeg overser?
Mvh
Jimmy
| |
Tonni Aagesen (19-09-2003)
| Kommentar Fra : Tonni Aagesen |
Dato : 19-09-03 22:49 |
|
Jimmy wrote:
> Jeg løber som sagt en tabel igennem på den ene server.
> Inden i dette loop åbner jeg så den nye DB, laver mine SELECTs, lukker den
> ikke igen, og vælger den gamle database igen, men så snart jeg kommer ud af
> loopet er det DB-2 er valgt...
Det er da et meget mystisk setup, du har der. Hvorfor åbner du
forbindelser til MySQL inde i en while-loop?
De forbindelser du åbner med mysql_connect() er tilgængelig indtil hele
scriptet er eksekveret (med mindre du explicit kalder mysql_close()
funktionen).
Jeg kan ikke lige se, hvor det går galt i dit eksempel, men
mysql_query() tager også en "link identifier" som argument.
Mvh
Tonni
| |
Jimmy (19-09-2003)
| Kommentar Fra : Jimmy |
Dato : 19-09-03 22:22 |
|
"Tonni Aagesen" <use.my@signature.please> wrote in message
news:bkfmjf$cr1$1@sunsite.dk...
> Jimmy wrote:
>
> > Jeg løber som sagt en tabel igennem på den ene server.
> > Inden i dette loop åbner jeg så den nye DB, laver mine SELECTs, lukker
den
> > ikke igen, og vælger den gamle database igen, men så snart jeg kommer ud
af
> > loopet er det DB-2 er valgt...
>
> Det er da et meget mystisk setup, du har der. Hvorfor åbner du
> forbindelser til MySQL inde i en while-loop?
Ja jeg ved godt det lyder vanvittigt.
Det drejer sig om følgende:
Jeg får løbende lagt indgående SMS ind i en tabel.
Jeg løber den igennem og står der "JOHNSON [text]" skal denne SMS indsættes
i en database på en anden server.
På denne måde kan ham, der har den anden database, få sine brugere til at
sende ham nyheder, som kan vises på hans hjemmeside med det samme.
> Jeg kan ikke lige se, hvor det går galt i dit eksempel, men
> mysql_query() tager også en "link identifier" som argument.
Det var til dels det, der manglede.
Når jeg havde åbnet den ekstra forbindelse (og lukket den igen) troede php
stadig den skulle anvende den (ny lukkede) forbindelse til alle sine
SQL-kald.
Jeg løste problemet ved at angive link identifier på samtlige
mysql_query()'s...
Irriterende og for mig at se mærkeligt problem der ikke burde kunne opstå
når jeg
1 - Har valgt den gamle database igen
2 - Har lukket den nye
Anyway, det virker nu og jeg takker for gof hjælp.
mvh
Jimmy
| |
|
|