2012-01-22 3 views
0

J'ai deux bases de données même serveur même domaine et même nom d'utilisateur et mot de passe. J'ai besoin de choisir à partir de la base de données principale, puis la deuxième DB, je dois être en mesure de s'y connecter et d'insérer des données.deux bases de données doivent accéder

c'est actuellement ce que j'essaie mais ça ne marche pas.

public function publish(){ 
     $result = mysql_query("SELECT * FROM customer_detail WHERE approvedforsite = 2"); 

     while($row = mysql_fetch_array($result)) 
     { 
      echo $row['customer_id'] . " - " .$row['TradingName'] . " - " . $row['Phone'] . " - " . $row['Street'] . " - " . $row['City'] . " - " . $row['State'] . " - " . $row['PostCode'] . " - " .$row['Description']; 
      echo "<br />"; 

       mysql_query("INSERT INTO realcas_incard_server.approved_business (customer_id, tradingname) 
       VALUES ('". $row['customer_id'] ."','".$row['TradingName']."')"); 


       mysql_query("INSERT INTO realcas_incard_server.business_stores (customer_id, storeid, phone, street, suburb, state, postcode, description) 
       VALUES ('". $row['customer_id'] ."', 1, '".$row['Phone']."', '" .$row['Street'] . "', '" . $row['City'] . "', '" . $row['State'] . "', '" . $row['PostCode'] . "','".$row['Description']."')"); 

       $offerresult = mysql_query("SELECT * FROM customer_realcash_offer WHERE businessid = ".$row['customer_id']); 
       while($offers = mysql_fetch_array($offerresult)) 
       { 
        mysql_query("INSERT INTO _incard_server.Real_Cash_Offers (business_id,storeid,offer) VALUES (".$row['customer_id'].",1,'".$offers['offer']."')"); 

        echo $offers['offer']. "<br/>"; 
       } 
      echo "<br />"; 
      echo "<br />"; 
     } 
    } 
+0

"mais cela ne fonctionne pas" - n'est pas une description d'erreur. –

Répondre

0

Vous pouvez utiliser mysql_select_db() pour basculer entre les bases de données sur le même serveur/nom d'utilisateur/mot de passe/connexion, ou vous pouvez utiliser la syntaxe database_name.table_name.column_name en pointillé (plus facile avec des alias, comme dans select a.column from database_name.table_name as a).

Ce sont vos deux options. (La troisième option consiste à utiliser une seule base de données, mais je suppose que c'est pas une option)

+0

Désolé pourriez-vous montrer un exemple d'insertion de requête mysql. – RussellHarrower

0

disent qu'il ya une table essai dans la base de données première

Test id int

et une table indésirable dans la base de données deuxième

indésirable id int

puis

requête serait

insert dans indésirable (id) (select id de first.test);

Questions connexes