2017-04-25 63 views
0

我想連接兩個MySQL數據庫的一個位於本地主機,另外一個是位於服務器如何將兩個MySQL數據庫在兩臺服務器

連接在這裏是我迄今所做的,我沒有得到任何錯誤或數據

<?php 
$con=mysql_connect('120.247.201.8:3306','root','root'); 
$con1=mysql_connect('localhost','root',''); 

//mysql_connect('localhost','root',''); 
if(!$con){ 
    die('Try Again'); 
} 


if(!$con1){ 
    die('Try Again'); 
} 

    mysql_select_db("iot",$con1); 
mysql_select_db("lora_gateway",$con); 
$result =mysql_query("SELECT lora_gateway.`server_log`.`created_at`, lora_gateway.`server_log`.`temperature`FROM iot.`device` inner JOIN `lora_gateway`.`server_log` on `lora_gateway`.`server_log`.`gateway_Id` = `iot`.`device`.`gatewayId` where iot.`device`.`deviceId`='23' ORDER BY lora_gateway.`server_log`.`created_at` desc"); 

$num= mysql_num_rows($result); 



print_r($num); 
?> 
+0

你爲什麼這樣做。 localhost用於開發。即測試數據 – Akintunde007

+1

如果你使用mysqli它會更簡單...對於一百萬的原因,不使用**刪除** mysql驅動 – DevDonkey

回答

1

這是針對多個服務器,連接和數據庫的解決方案。

  • 兩個或兩個以上的MySQL5分貝服務器
  • 兩個或多個位置(本地和/或其他任何東西)
  • 兩個或多個不同的數據庫
  • 兩個或多個表和字段

經測試和工作正常:-)

//Define your database connections and select your database want to use. In this example I use two connections and two DBs. But you can use more than two. 

<?php 
    //MySQL Server 1 
    $dbhost1 = "127.0.0.1"; 
    $dbuser1 = "dbuser1"; 
    $dbpassword1 = "dbpass1"; 
    $db1 = "database1"; 
    $connection1 = mysql_connect($dbhost1,$dbuser1,$dbpassword1) or die (mysql_error()); 
    mysql_select_db($db1,$connection1); 

    //MySQL Server 2 
    $dbhost2 = "xxx.xxx.xxx.xxx"; 
    $dbuser2 = "dbuser2"; 
    $dbpassword2 = "dbpass2"; 
    $db2 = "database2"; 
    $connection2 = mysql_connect($dbhost1,$dbuser1,$dbpassword1) or die (mysql_error()); 
    mysql_select_db($db2,$connection2);  

    //The SQL statement 
    $sql =" SELECT database1.tablename1.fieldname1 AS field1, database2.tablename2.fieldname2 AS field2 FROM database1.tablename1,database2.tablename2"; 

    //Execute query and collect results in $results 
    $results = mysql_query($sql); 

    //Print result until end of records 
    while($rows = mysql_fetch_array($results)){ 
     print $rows["field1"]." | ".$rows["field2"]."<br>"; 
    } 

    ?> 
+0

確定它沒有工作,謝謝 – shane

+0

ü歡迎;) –

+0

哦,不,它沒有連接那些我得到這個錯誤警告:mysql_fetch_array()期望參數1是資源,布爾給出 – shane

0

如何將連接添加到mysql_query()?

$result = mysql_query("SELECT lora_gateway.`server_log`.... desc", $con); 
+0

我得到這個錯誤,當我嘗試它警告:mysql_num_rows()期望參數1是資源,布爾在 – shane

+0

給出你沒有在該查詢錯誤?你可以在phpmyadmin中試試嗎? – Honzy

+0

一個數據庫在本地,另一個在服務器如何可以嘗試phpmyadmin我試着用workbench,但不能連接本地和服務器 – shane

1

首先,嘗試適應自己使用PDO或至少mysqli_函數。這是未來。 :)


mysql_query的第二個參數,連接鏈接,是可選的。如果省略,它將使用通過mysql_connect打開的最後一個連接。 (請參閱php.net Documentation

因此,始終使用$con$con1作爲第二個參數以便使用正確的連接。

然後,只要您的查詢是正確的,它應該按預期工作。

相關問題