2016-08-22 9 views
0

プログラムは同じテーブルを持つ同じサーバから2 dbの差分を見つけ、phpを使ってテーブルの違いを表示することです。ここでは、dbnamesを選択するのが難しいと思っています。私はフォームメソッドでdbnamesを取得しようとしていました。同じサーバからの差分を2つのデータベースで見つけるには

<html> 
<head> 
<title>Connecting db</title> 
<style> 
table, th, td { 
    border: 1px solid black; 
} 
</style> 
</head> 
<body> 
<form method="post" action="" > 
    <label>db1 :</label> 
    <input type="text" name="db1 name"> 
    <input type="submit" name="submit" value="submit"> 
    <br><br> 
    <label>db2 :</label> 
    <input type="text" name="db2 name"> 
    <input type="submit" name="submit" value="submit"> 
</form> 
<?php 
if(isset($_POST["submit"])){$servername = "servername"; 
$username = "username"; 
$password = "password"; 
$dbname = "db"; 

$db1 = $_POST["db1 name"]; 
$db2 = $_POST["db2 name"]; 

// Create connection 
$conn = new mysqli($servername, $username, $password,$dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT application_id,application_name\n" 
    . "FROM "($db1)".applications\n" 
    . "WHERE(\n" 
    . " application_id NOT IN \n" 
    . " (SELECT application_id FROM "($db2)".applications)\n" 
    . ")\n" 
    . "GROUP BY application_id LIMIT 0, 30 "; 
$result = $conn->query($sql); 

    if ($result->num_rows > 0) { 
    echo "<table><tr><th>APPLICATION ID</th><th>APPLICATION Name</th></tr>"; 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     echo "<tr><td>".$row["application_id"]."</td><td>".$row["application_name"].."</td></tr>"; 
    } 
    echo "</table>"; 
} else { 
    echo "0 results"; 
} 
$conn->close(); 
} 
?> 
</body> 
</html> 

答えて

1

接続のこの種を試してみてください

$conn = mysqli_connect("hostname","username","password"); 
mysqli_select_db("db1",$conn); 
mysqli_select_db("db2",$conn); 
関連する問題