- Home
- Categorie
- Coding e Sistemistica
- Coding
- 2 Connessioni a 2 database diversi
-
2 Connessioni a 2 database diversi
Salve come da titolo ho un sito web con un database dove estraggo i miei articoli.
Ho aperto un altro sito web con un altro database differente dal primo la quale scarico articoli.Ora ho la necessità di far estrapolare gli articoli del sito 1 nel sito 2, quindi creo due connessioni
Sito 1
[php]
// Dati connessione al database$db_host = 'localhost'; $db_utente = 'root'; $db_password = ''; $db_nomedb = 'sito1';$dbh = @mysql_connect ($db_host, $db_utente, $db_password) or die ("Errore! Impossibile connettersi al Server $db_host: ");@mysql_select_db($db_nomedb) or die ("Impossibile selezionare il database <font color="red"> $db_nomedb </font>");[/php]
e questa è la seconda connessione
[php]
// Dati connessione al database$db_host2 = 'localhost'; $db_utente2 = 'root'; $db_password2 = ''; $db_nomedb2 = 'sito2';$dbh = @mysql_connect ($db_host2, $db_utente2, $db_password2) or die ("Errore! Impossibile connettersi al Server $db_host2: ");@mysql_select_db($db_nomedb2) or die ("Impossibile selezionare il database <font color="red"> $db_nomedb2 </font>");[/php]
Non funziona, mi dice impossibile aprire la connessione!
Qualche idea ?
-
Non ho molta esperienza con i DB, però noto che tutti i settaggi dei parametri di connessione sono su una stessa linea dopo l'inizio del marcatore di commenti, pertanto ovviamente tali variabili non sono impostate.
-
No vabbè non sono a quei livelli.... è stato un errore quando ho fatto copia e incolla su GT.
-
Ok d'accordo. Dalle poche guide che ho letto quando si imposta $db_host = 'localhost'; significa che si fa riferimento al DB del dominio in cui è eseguito lo script.
Vedo che anche l'altro punta ancora a localhost, mentre penso che dovrebbe fare riferimento all'altro dominio.
Mi sembra che in alcuni casi gli hoster blocchino le connessioni esterne al proprio dominio, ed in tal caso temo che ci sia da lavorare non poco, oltre a possibili problemi di sicurezza per il transito delle informazioni in chiaro.
Ultimo consiglio che posso dare: suggerirei di utilizzare le corrispondenti nuove funzioni mysqli_* al posto delle mysql_* essendo queste ultime deprecate.Buon lavoro.
-
metto localhost per far capire come sia scritto il codice ma ciò che conta è la variabile (è quella che cambia).
Ho un server dedicato quindi posso gestore e aprire attraverso il php.ini ogni cosa che mi viene bloccata tipo allow_url_open .
Ma il problema non credo sia questo.
-
Oops giusto, sono stato indotto nell'errore leggendo i valori delle variabili
[PHP]$db_nomedb = 'sito1';
// ...
$db_nomedb2 = 'sito2';[/PHP]
che mi avevano fatto pensare a DB su domini diversi mentre invece si trovano sullo stesso server.
-
Si infatti sono DB su domini diversi.
-
Ciao,
ma ti da l'errore: Errore! Impossibile connettersi al Server?
-
Si esatto! non stabilisce la connessione.
-
Allora probabilmente è il server di destinazione che non consente le connessioni esterne, e bisogna cambiare la configurazione di mysql e del firewall, ovviamente bisogna essere nella condizione di poterlo fare.
-
cosa dovrei fare per cambiare configurazione a mysql ? cioè quali parametri dovrei modificare ? e come si chiama il file da modificare ?
Ho un server dedicato credo che posso modificare qualcosa.
-
Il percorso del file dipende dal sistema operativo e dalla configurazione del server, spesso lo trovi in /etc/my.cnf
E devi modificare il valore di bind-address. Poi bisogna vedere la configurazione degli utenti del mysql, cosa che puoi fare anche da phpmyadmin, per verificare che non sia stato impostato la connessione come consentita solo da localhost.
Mentre per il firewall dipende da quale usi, ammesso che ci sia.In ogni caso devi assicurarti che non sia aperto al mondo intero, ma restringi la connessione remota solo agli IP da cui devi poi realmente connetterti.
-
ho provato a connettermi in remoto con database diversi (uno alla volta) e funziona quindi non sono problemi legati alla sicurezza.
Quello che non riesco a fare è stabilire due connessioni nel file config.php
La connessione principale è quella del database del sito, mentre la seconda mi serve solo in alcuni punti e devo utilizzarla per collegarmi al database mysql che si trova su un altro server.