2010-12-08 17 views
3
<? 
    $db1 = mysql_connect("localhost","root","root") or dir("can not connect Mysql Server"); 
    mysql_select_db("1",$db1) or dir("Can not connect to the MySQL Server."); 

    $db2 = mysql_connect("localhost","root","root") or dir("can not connect Mysql Server"); 
    mysql_select_db("2",$db2) or dir("Can not connect to the MySQL Server."); 
?> 

$result = mysql_query("SELECT * FROM db1.tags WHERE db1.catalog='fresh tag' "); 

複数のデータベースから接続すると、db1からMySQLクエリを作成する方法は?PHPマルチデータベース接続

+0

あなたは$ db1-> query( "SELECT * FROM db1.tags WHERE db1.catalog = 'fresh tag'")を実行することができます。代わりに。 – Machiel

答えて

8

クエリで指定します。

$result = mysql_query($query, $db1); 

二番目のパラメータ($のDB1)が省略された場合、それは最後に定義されたリソース($のDB2)を使用します

2

manualをご覧ください。

resource mysql_query (string $query [, resource $link_identifier ]) 

すでにmysql_select_db()のために行うように、あなたは、2番目のパラメータとして接続を指定することができます。

2

mysql_queryの2番目のパラメータは、接続リソースです。その接続に対してクエリを実行します。

2

mysql_queryのドキュメントを参照してください。 2番目のパラメータとしてlink_identifierを渡すだけです。

$result = mysql_query("SELECT * FROM db1.tags WHERE db1.catalog='fresh tag'", $db1); 
1

使用

mysql_query($query, $db1); 

または

mysql_select_db(); 
1

彼らはローカルホストの両方である場合は、2回を接続する必要はありません。

SELECT * FROM db2.tags WHERE id IN(SELECT id FROM db1.tags WHERE id=1) 

このようにして、2つの接続を行わずに両方のデータベースを比較することができます。

mysql_select_db(db1); 
$db1Result = mysql_query("SELECT * FROM db1.tags WHERE id=1"); 
mysql_select_db(db2); 
$db2Result = mysql_query("SELECT * FROM db2.tags WHERE id=1"); 

そして、それは$ db2Resultからのもので$ db1Resultから結果を比較した後:あなたは両方とも同じ場所に持っていない場合

さて、あなたはこのような何かを行うことができます。

0
//get my conn 
include "../../database.php"; 
//put data in 
//get data 
if($_GET['attribute']!=''){ 
    //prepare 
    $stmt=$conn->prepare('INSERT INTO databasetablename (attribute) VALUES (?)'); 
    //bind 
    $stmt->bind_param('s',$_GET['attribute']); 
    //execute 
    $stmt->execute(); 
    $stmt->close(); 
} 

    //print data out 
    $res=$conn->query("SELECT attribute FROM databasetablename"); 
    if($res){ 
     while($hold = mysqli_fetch_array($res,MYSQL_ASSOC)){ 
      $record[]=$hold; 
      echo $hold['attribute']; 
     } 
    } 
    echo '<hr/>'; 
    //print out 
     foreach($record as $cur){ 
      echo $cur['attribute'].<br/>; 
     }