Astuce Effectuer des requêtes sur une autre base de données

publicité
Astuce
Image not readable or empty
/extension/devnotebook/design/devnotebook/images/icon/trick.png
Effectuer des requêtes sur une
autre base de données
Il est possible d'effectuer des requêtes SQL sur une base de données autre que celle de Drupal, tout en
utilisant les fonctions db_select(), db_query(), ....
Pour cela, il faut déclarer la ou les bases externes dans le fichier site/default/settings.php :
$databases = array (
'default' => array (
'default' => array (
'database' => 'drupal',
'username' => 'username',
'password' => 'password',
'host' => 'localhost',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
),
),
'ma_nouvelle_base' => array (
'default' => array (
'database' => 'db1',
'username' => 'username2',
'password' => 'password2',
'host' => 'db.example.com',
'port' => '',
'driver' => 'mysql',
'prefix' => '',
),
),
);
Vous pouvez maintenant utiliser les nouvelles bases dans vos modules, grâce à la fonction db_set_active() :
// Sélection de la nouvelle base
db_set_active('ma_nouvelle_base');
// Exécution d'un requête
$results = db_query($sql);
// Retour à la base par défaut
db_set_active('default');
Version : 7.x
Publié le : 18/09/2014 Modifié le : 22/06/2016
Téléchargement