Réponse acceptée !
Bonjour,
Une solution très fonctionnelle, en utilisant PHP 5.2 serait du type:
Code PHP :
// Definir la première connexion
$dsn1 = 'mssql:dbname=testdb;host=127.0.0.1';
$user1 = 'dbuser';
$password1 = 'dbpass';
// Definir la seconde connexion
$dsn2 = 'mssql:dbname=testdb2;host=127.0.0.1';
$user2 = 'db2user';
$password2 = 'db2pass';
try {
$db1 = new PDO($dsn1, $user1, $password1);
} catch (PDOException $e) {
echo 'Connexion échouée : ' . $e->getMessage();
}
try {
$db2 = new PDO($dsn2, $user2, $password2);
} catch (PDOException $e) {
echo 'Connexion échouée : ' . $e->getMessage();
}
$result = $db1->query( 'SELECT * FROM x' ) ;
foreach( $result as $row ) {
if ( $row['id'] == 550 {
$r2 = $fb2->query( "SELECT * FROM x WHERE refid='" . $row['id'] . "'" ;
foreach( $r2 as $n ) {
// traitement
}
}
}
A noter que grâce à PDO, il n'est pas nécessaire que les 2 bases de données soient du même type. On peut parfaitement utiliser cette méthode pour convertir, par exemple, une base access ou mssql en mysql ou inversement.
Voir la documentation de
PDO pour plus d'informations.