Je travaille sur un projet qui nécessite de travailler avec plusieurs connexions de base de données. D'après ce que j'ai lu, je devrais pouvoir passer entre les connexions dans la requête elle-même, quelque chose comme:Travailler avec plusieurs bases de données dans php/mysql
mysql_query("SELECT * FROM user_types", $db_core)or die(mysql_error());
Mais je reçois l'erreur:
Table 'db_company.user_types' doesn't exist
Je peux donc voir se penche sur le db incorrect, il saisit le dernier
Je ne voudrais pas avoir à re-sélectionner la base de données à chaque fois, mais si c'est le meilleur moyen d'y aller, je peux.
Je les bases de données sélectionnées comme ceci:
<?
$currentpage = $_SERVER["REQUEST_URI"];
//Core DB
$db_core_host = "localhost";
$db_core_username = "root";
$db_core_password = "";
$db_core_name = "db_main";
//
$db_core = mysql_connect($db_core_host,$db_core_username,$db_core_password);
mysql_select_db($db_core_name, $db_core)or die(mysql_error());
//Company DB
$db_company_host = $company['db_server'];
$db_company_username = $company['db_username'];
$db_company_password = $company['db_password'];
$db_company_name = $company['db_name'];
//
$db_company = mysql_connect($db_company_host,$db_company_username,$db_company_password);
mysql_select_db($db_company_name, $db_company)or die(mysql_error());
?>
Je ne sais pas si ça aide du tout, mais quand je fais l'écho ou l'autre des connexions de base de données je reçois Resource id # 5
Cela fonctionne, est-ce que je rencontrerais un problème si les bases de données sont sur des serveurs différents et partagent le même nom? – kilrizzy
Non, ils devraient être sur le même serveur. Si la base de données est sur un autre serveur, vous devez créer une autre connexion en utilisant mysql_connect. –
Génial. Merci! – kilrizzy