我是 MySQL 新手。现在,我正在尝试将一个已经存在的 PHP 网站与一个 SQL 数据库复制到一个新的虚拟主机中。我希望创建一个与旧网站数据库具有相同结构的新 SQL 数据库,并将新的 PHP 网站与新数据库连接起来。
我已经知道如何将 PHP 文件与数据库连接,但我不知道如何将数据库表复制到另一个。
您想使用 phpMyAdmin 之类的实用程序直接复制数据库。您不想使用 PHP 以编程方式执行此操作。看看这个。
如果您想在不使用 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 上试用它。但是,如果可以的话,最好使用一些工具。:)