query su due database

napuleone

Utente Attivo
12 Nov 2014
56
0
6
devo collegare due tabelle da due diversi database sullo stesso server.
Non ho problemi ad aprire due connessioni.
ma per il resto buio totale.........

$conn1 = @new mysqli('In_host', 'In_user', 'In_pass', 'In_dbname1'); // con Tabella1
$conn2 = @new mysqli('In_host', 'In_user', 'In_pass', 'In_dbname2'); // con Tabella2

$query="SELECT A.numero, B.id AS Bid, B.descrizione
FROM ??.tabella1 A, ??.tabella2 B
WHERE A.numero=B.id"

$Risultato=mysqli_query($conn????,$Query)
 

marino51

Utente Attivo
28 Feb 2013
2.895
157
63
Lombardia
forse hai già risolto, ma giusto un'indicazione usando pdo con ms sql (non conosco mysql)

ho collegato un solo database ma ho definito "completamente" i campi da estrarre da ciascun database

ho provato una query molto semplice unendo due select ed ho estratto da entrambe un campo "float", non avendo i due database nessuna attinenza

ha funzionato, questo è il risultato
Cattura.PNG
e questo è lo script php
PHP:
<?php
error_reporting( E_ALL );

require_once '_ClassTheBestDB.php';

$db=new TheBestDB('sqlsrv:Server=myServer;Database=SolarPowerDB','myUser','myPassword');


$sql = "
select 1 as id, TOTenergy as valore from SolarPowerDB.dbo.inverter_meter
union
select 2 as id, caf_lim1 as valore from optideaDB.dbo.carform
";

$sth = $db->query( $sql ); 

$sth->setFetchMode( PDO::FETCH_ASSOC ); 

print $sth->rowCount()." record( s ) contati <br />";

while( $row = $sth->fetch() )
    print $row['id']."&emsp;".$row['valore']."<br />";
print "<br />";


$db->close(); 
die;
?>
per cortesia se puoi provare la stessa tecnica e per mia curiosità confermare il funzionamento con mysql,
grazie, ciao
Marino
 
Ultima modifica:

marino51

Utente Attivo
28 Feb 2013
2.895
157
63
Lombardia
se i database sono sullo stesso server, è sufficiente attivare una sola connessione, ad uno qualsiasi, dopo di che sono tutti accessibili semplicemente specificando l'intero "percorso" nelle query
 

marino51

Utente Attivo
28 Feb 2013
2.895
157
63
Lombardia
anche se hanno password diverse, hai provato ?
se non dovesse funzionare,
cosa ostacola creare un utente che abbia accesso ad entrambi i db ?