Hy Junx,
hab leider nix passendes gefunden, deswegen poste ich mal meine Frage:
Ich würde gerne zwei MySQL-Verbindungen zu verschiedenen Servern gleichzeitig nutzen (aus Sicherheitsgründen). Leider tritt aber das Problem auf, dass das Script anscheinend nur eine Verwalten kann. Weiß nicht, wieso. Vlt. kann mir einer sagen, wo mein Fehler ist bzw. ob es überhaupt geht.
Script zur Erläuterung:
Problem: jenachdem, welche SQL-Verbindung zuletzt geöffnet wurde, wird jede Anfrage (egal, welcher SQL-Link-Identifier ausgewählt ist) an diese zuletzt geöffnete gesendet.
[Bitte nicht nach dem Sinn dieses Codestückes fragen, das habe ich nur zur Erläuterung getippt, denn der original-Quellcode ist zu eingebettet ins System um diesen einfach raus zu kopieren.]
Thx casb
[Edit:] Das Problem ist unabhängig davon, ob ich connect oder pconnect nutze [/Edit]
hab leider nix passendes gefunden, deswegen poste ich mal meine Frage:
Ich würde gerne zwei MySQL-Verbindungen zu verschiedenen Servern gleichzeitig nutzen (aus Sicherheitsgründen). Leider tritt aber das Problem auf, dass das Script anscheinend nur eine Verwalten kann. Weiß nicht, wieso. Vlt. kann mir einer sagen, wo mein Fehler ist bzw. ob es überhaupt geht.
Script zur Erläuterung:
PHP:
class sql
{
private $con_data1 = array(
"ip" => "127.0.0.1" ,
"user" => "root" ,
"pw" => "pw" ,
"db" => "db_on_sql_one"
);
private $con_data2 = array(
"ip" => "127.0.0.2" ,
"user" => "root" ,
"pw" => "pw" ,
"db" => "db_on_sql_two"
);
private $connection_one;
private $connection_two;
function __construct()
{
$this->connect( $this->connection_one , $this->con_data1 );
$this->connect( $this->connection_two , $this->con_data2 );
}
private function connect( &$link_Nr , &$data )
{
$link_Nr = mysql_connect( $data["ip"] , $data["user"] , $data["pw"] );
mysql_select_db( $data["db"] , $link_Nr );
}
function querySQL( $query , $selectSQL )
{
if( $selectSQL == "Main_Server" )
return mysql_query( $query , $this->connection_one );
else
return mysql_query( $query , $this->connection_two );
}
}
#### Testpart:
$testSQL = new sql;
$r = $testSQL->querySQL( "SELECT * FROM table_on_sql_two" , "Sec_Server" );
while( $p = mysql_fetch_assoc( $r ) )
echo count( $p );
$r = $testSQL->querySQL( "SELECT * FROM table_on_sql_one" , "Main_Server" );
while( $p = mysql_fetch_assoc( $r ) )
echo count( $p );
$r = $testSQL->querySQL( "SELECT * FROM table_on_sql_two" , "Sec_Server" );
while( $p = mysql_fetch_assoc( $r ) )
echo count( $p );
$r = $testSQL->querySQL( "SELECT * FROM table_on_sql_one" , "Main_Server" );
while( $p = mysql_fetch_assoc( $r ) )
echo count( $p );
Problem: jenachdem, welche SQL-Verbindung zuletzt geöffnet wurde, wird jede Anfrage (egal, welcher SQL-Link-Identifier ausgewählt ist) an diese zuletzt geöffnete gesendet.
[Bitte nicht nach dem Sinn dieses Codestückes fragen, das habe ich nur zur Erläuterung getippt, denn der original-Quellcode ist zu eingebettet ins System um diesen einfach raus zu kopieren.]
Thx casb
[Edit:] Das Problem ist unabhängig davon, ob ich connect oder pconnect nutze [/Edit]
Zuletzt bearbeitet: