2 bazy mysql

0

Witam
łącze się z bazą w prosty sposób:

 $link=mysql_connect('localhost',$user,$password);
 mysql_query("SET NAMES 'latin2'");
 $stat=mysql_select_db('baza1',$link);
 if (!$stat) $_SESSION[login]=false;

całą stronę opieram na tej bazie i działa, jednak w jednym miejscu muszę wykonać zapytanie do "baza2".
Próbowałem zamykać połączenie $link, używałem mysql_select_db, mysql_query("USE baza2"), select FROM baza2...
wynik nie wychodzi

gdzie jest błąd?

pozdrawiam
Rafał

0

spróbuj może coś w tym stylu

 $link=mysql_connect('localhost',$user,$password);
 mysql_query("SET NAMES 'latin2'", $link);
 mysql_select_db('baza1',$link);
 
 //...
 
 $link2=mysql_connect('localhost',$user2,$password2);
 mysql_query("SET NAMES 'latin2'", $link2);
 mysql_select_db('baza2',$link2); 
0
cserf napisał(a)

Witam
łącze się z bazą w prosty sposób:

 $link=mysql_connect('localhost',$user,$password);
 mysql_query("SET NAMES 'latin2'");
 $stat=mysql_select_db('baza1',$link);
 if (!$stat) $_SESSION[login]=false;

całą stronę opieram na tej bazie i działa, jednak w jednym miejscu muszę wykonać zapytanie do "baza2".
Próbowałem zamykać połączenie $link, używałem mysql_select_db, mysql_query("USE baza2"), select FROM baza2...
wynik nie wychodzi

gdzie jest błąd?

pozdrawiam
Rafał

W mysql_query nie precyzujesz połączenia, zostanie więc wytypowane ostatnio otwarte.

0

Po raz setny powtarzam: PDO. Używa się starych bubli to takie są efekty.
Dlaczego mysql_select_db nie działało?
Wystarczyło poczytać manuala PHP i wszystko było by jasne:
resource mysql_query ( string $zapytanie [, resource $identyfikator_połączenia [, int $typ_wyniku ]] )
O! Identyfikator połączenia. Chciałem sam pisać przykład ale ktoś mnie już wyręczył 6. Maja 2005:

// none of thesehandles are re-used as the connection parameters are different on them all, despite connecting to the same server (assuming 'myuser' and 'otheruser' have the same privileges/accesses in mysql)
$handle_db1 = mysql_connect("localhost","myuser","apasswd");
$handle_db2 = mysql_connect("127.0.0.1","myuser","apasswd");
$handle_db3 = mysql_connect("localhost:3306","myuser","apasswd");
$handle_db4 = mysql_connect("localhost","otheruser","apasswd");

// give each handle it's own database to work with, permanently.
mysql_select_db("db1",$handle_db1);
mysql_select_db("db2",$handle_db2);
mysql_select_db("db3",$handle_db3);
mysql_select_db("db4",$handle_db4);

//do a query from db1:
$query = "select * from test";
mysql_query($query, $handle_db1);

//do a query from db2 :
$query = "select * from test";
mysql_query($query, $handle_db2); 

Pozdrawiam.

0

bardzo dziękuję Wam za pomoc

0
wskaźnik napisał(a)

Po raz setny powtarzam: PDO. Używa się starych bubli to takie są efekty.
Dlaczego mysql_select_db nie działało?
Wystarczyło poczytać manuala PHP i wszystko było by jasne:
resource mysql_query ( string $zapytanie [, resource $identyfikator_połączenia [, int $typ_wyniku ]] )
O! Identyfikator połączenia. Chciałem sam pisać przykład ale ktoś mnie już wyręczył 6. Maja 2005:

// none of thesehandles are re-used as the connection parameters are different on them all, despite connecting to the same server (assuming 'myuser' and 'otheruser' have the same privileges/accesses in mysql)
$handle_db1 = mysql_connect("localhost","myuser","apasswd");
$handle_db2 = mysql_connect("127.0.0.1","myuser","apasswd");
$handle_db3 = mysql_connect("localhost:3306","myuser","apasswd");
$handle_db4 = mysql_connect("localhost","otheruser","apasswd");

// give each handle it's own database to work with, permanently.
mysql_select_db("db1",$handle_db1);
mysql_select_db("db2",$handle_db2);
mysql_select_db("db3",$handle_db3);
mysql_select_db("db4",$handle_db4);

//do a query from db1:
$query = "select * from test";
mysql_query($query, $handle_db1);

//do a query from db2 :
$query = "select * from test";
mysql_query($query, $handle_db2); 

Pozdrawiam.

rozumiem, że mogę wykorzystywać w funkcji mysql_query dowolnego połączenia z bazą, które zostaje zdefiniowane wczesniej?
i na pewno nie pokażą się żadne błędy?

0
STaN007 napisał(a)
wskaźnik napisał(a)

Po raz setny powtarzam: PDO. Używa się starych bubli to takie są efekty.
Dlaczego mysql_select_db nie działało?
Wystarczyło poczytać manuala PHP i wszystko było by jasne:
resource mysql_query ( string $zapytanie [, resource $identyfikator_połączenia [, int $typ_wyniku ]] )
O! Identyfikator połączenia. Chciałem sam pisać przykład ale ktoś mnie już wyręczył 6. Maja 2005:

// none of thesehandles are re-used as the connection parameters are different on them all, despite connecting to the same server (assuming 'myuser' and 'otheruser' have the same privileges/accesses in mysql)
$handle_db1 = mysql_connect("localhost","myuser","apasswd");
$handle_db2 = mysql_connect("127.0.0.1","myuser","apasswd");
$handle_db3 = mysql_connect("localhost:3306","myuser","apasswd");
$handle_db4 = mysql_connect("localhost","otheruser","apasswd");

// give each handle it's own database to work with, permanently.
mysql_select_db("db1",$handle_db1);
mysql_select_db("db2",$handle_db2);
mysql_select_db("db3",$handle_db3);
mysql_select_db("db4",$handle_db4);

//do a query from db1:
$query = "select * from test";
mysql_query($query, $handle_db1);

//do a query from db2 :
$query = "select * from test";
mysql_query($query, $handle_db2); 

Pozdrawiam.

rozumiem, że mogę wykorzystywać w funkcji mysql_query dowolnego połączenia z bazą, które zostaje zdefiniowane wczesniej?
i na pewno nie pokażą się żadne błędy?

Możesz użyć dowolnego otwartego wcześniej połączenia z bazą precyzując, którego chcesz użyć w drugim argumencie. Tak czy siak, szczęśliwszym rozwiązaniem jest po prostu użycie PDO.

1 użytkowników online, w tym zalogowanych: 0, gości: 1