Requêtes entre bases de données en PHP : briser les barrières
Dans l'épisode précédent, la construction de requêtes entre bases de données dans MySQL a été rendue possible. Cependant, la traduction de ces connaissances en PHP a présenté un obstacle en raison des limitations de mysql_select_db.
Options et limitations
Les options disponibles en PHP sont :
Le Solution
Pour surmonter ces limitations et effectuer des requêtes inter-bases de données en PHP, nous pouvons exploiter la méthode suivante :
$db = mysql_connect($hots, $user, $password); mysql_select_db('my_most_used_db', $db); $q = mysql_query(" SELECT * FROM table_on_default_db a, `another_db`.`table_on_another_db` b WHERE a.id = b.fk_id ");
Prérequis
Cette approche nécessite que les deux bases de données résident sur le même hôte. S'ils se trouvent sur des hôtes différents, les jointures directes ne sont pas possibles. Dans ce cas, vous pouvez exécuter deux requêtes distinctes :
$db1 = mysql_connect($host1, $user1, $password1); $db2 = mysql_connect($host2, $user2, $password2); $q1 = mysql_query(" SELECT id FROM table WHERE [..your criteria for db1 here..] ", $db1); $tmp = array(); while($val = mysql_fetch_array($q1)) $tmp[] = $val['id']; $q2 = mysql_query(" SELECT * FROM table2 WHERE fk_id in (".implode(', ', $tmp).") ", $db2);
En utilisant cette méthode, vous pouvez effectuer sans effort des requêtes inter-bases de données en PHP, élargissant ainsi les capacités d'interactions de votre base de données.
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!