0

私はMySQLが初めてです。現在、既存の PHP Web サイトを、新しい Web ホスティングの両方のプロパティである SQL データベースで複製しようとしています。古い W​​eb サイト データベースと同じ構造の新しい SQL データベースを作成し、新しい PHP Web サイトを新しいデータベースに接続したいと考えています。

PHP ファイルをデータベースに接続する方法は既に知っていますが、データベース テーブルを別のテーブルにコピーする方法がわかりません。

4

2 に答える 2

2

データベースを直接コピーするには、phpMyAdmin などのユーティリティを使用します。PHP を使用してプログラムで実行したくありません。これを見てください。

于 2013-10-19T22:28:56.323 に答える
0

phpMyAdmin などのツールを使用せずにこれを行いたい場合はSHOW TABLES;SHOW CREATE TABLE table_name;クエリを使用して、コピーするデータベースを反復処理できます。これを PHP スクリプトに入れると、次のようになります。

<?php 

$host_name = "localhost";
$user_name = "xfiddlec_user";
$pass_word = "public";
$database_name = "xfiddlec_max";
$port = "3306";

$first_connect = new mysqli($host_name, $user_name, $pass_word, $database_name, $port);
//$second_connect = new mysqli($host_name2, $user_name2, $pass_word2, $database_name2, $port2);
$sql = "SHOW TABLES";

$result = $first_connect->query($sql);
if (($result) && ($result->num_rows > 0))
{
//convert query result into an associative array
while ($row = $result->fetch_row())
{
    $sql2 = "SHOW CREATE TABLE {$row[0]}";
    $res = $first_connect->query($sql2)->fetch_row();
    //echo "<pre>"; print_r($res); echo "</pre>";
    $createSQL = $res[1];
    $second_connect->query($createSQL);
    echo $createSQL;
}

}

PHP Fiddle here で試すことができるように、いくつかの部分にコメントを付けました。ただし、可能であれば、何らかのツールを使用することをお勧めします。:)

于 2013-10-19T22:56:20.950 に答える