Maison >base de données >tutoriel mysql >Comment se connecter à plusieurs bases de données MySQL à partir d'une seule page Web PHP ?
Comment se connecter à plusieurs bases de données MySQL sur une seule page Web à l'aide de PHP
Pour accéder aux informations de plusieurs bases de données MySQL sur une page Web PHP, vous pouvez utiliser plusieurs connexions. Auparavant, la fonction mysql_connect() était utilisée pour la connexion à la base de données, mais elle est désormais obsolète.
Méthode 1 : Utiliser plusieurs connexions MySQL
Vous pouvez créer plusieurs connexions MySQL en utilisant la fonction mysql_connect() avec le paramètre $new_link défini sur true pour ouvrir une nouvelle connexion pour chaque base de données. Par exemple :
$dbh1 = mysql_connect($hostname, $username, $password); $dbh2 = mysql_connect($hostname, $username, $password, true); mysql_select_db('database1', $dbh1); mysql_select_db('database2', $dbh2);
Pour interroger chaque base de données, transmettez l'identifiant de connexion approprié avec la requête. Par exemple :
mysql_query('select * from tablename', $dbh1); // Query database1 mysql_query('select * from tablename', $dbh2); // Query database2
Alternativement, si vous ne spécifiez pas d'identifiant de connexion, la dernière connexion ouverte sera utilisée.
Méthode 2 : Utilisation de PDO (méthode préférée)
Au lieu d'utiliser les fonctions mysql obsolètes, il est recommandé d'utiliser PDO (PHP Data Objects) pour la connectivité de la base de données. Avec PDO, vous pouvez établir plusieurs connexions en utilisant différentes options :
a. Connexions séparées :
$db1 = new PDO('mysql:host=localhost;dbname=database1', 'username', 'password'); $db2 = new PDO('mysql:host=localhost;dbname=database2', 'username', 'password');
b. Connexion partagée :
Si l'utilisateur a accès aux deux bases de données via la même connexion, vous pouvez spécifier la base de données dans la requête :
$db = new PDO('mysql:host=localhost;', 'username', 'password'); $db->query('SELECT * FROM database1.table_name'); // Query database1 $db->query('SELECT * FROM database2.table_name'); // Query database2
Ces approches vous permettent d'accéder et gérer les données de plusieurs bases de données MySQL au sein de la même page Web PHP.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!