在php脚本中创建数据库表的克隆

在php脚本中创建数据库表的克隆,php,mysql,Php,Mysql,我必须创建数据库表的克隆。我使用wordpress数据库,我想创建一个WP选项表的克隆。如何在数据库中创建特定表的克隆。我找到了一些密码 set_time_limit(0); $username = 'XXXXXX'; $password = 'YYYYYY'; $hostname = 'ZZZZZZ'; $database = 'AAAAAA'; try { $pdo = new PDO("mysql:host={$hostname};dbname={$database}", $u

我必须创建数据库表的克隆。我使用wordpress数据库,我想创建一个WP选项表的克隆。如何在数据库中创建特定表的克隆。我找到了一些密码

set_time_limit(0);

$username = 'XXXXXX';
$password = 'YYYYYY';
$hostname = 'ZZZZZZ';
$database = 'AAAAAA';

try {
    $pdo = new PDO("mysql:host={$hostname};dbname={$database}", $username, $password);
}
catch(PDOException $e) {
    die("Could not connect to the database\n");
}

echo '<pre>';
$stmt1 = $pdo->query('SHOW TABLES', PDO::FETCH_NUM);
foreach($stmt1->fetchAll() as $row) {
    $stmt2 = $pdo->query("SHOW CREATE TABLE `$row[0]`", PDO::FETCH_ASSOC);
    $table = $stmt2->fetch();
    echo "{$table['Create Table']};\n\n";
}
echo '</pre>';
设置时间限制(0);
$username='XXXXXX';
$password='YYYYYY';
$hostname='ZZZZZZ';
$database='AAAAAA';
试一试{
$pdo=newPDO(“mysql:host={$hostname};dbname={$database}”,$username,$password);
}
捕获(PDO$e){
die(“无法连接到数据库\n”);
}
回声';
$stmt1=$pdo->query('SHOW TABLES',pdo::FETCH_NUM);
foreach($stmt1->fetchAll()作为$row){
$stmt2=$pdo->query(“显示创建表“$row[0]”),pdo::FETCH_ASSOC);
$table=$stmt2->fetch();
echo“{$table['Create table']};\n\n”;
}
回声';

但我不明白如何才能在我给定的路径下获取文件夹中的数据库。

我之前也遇到过同样的问题,在谷歌搜索了几个小时后,我得到了以下代码

希望这会有所帮助

极客们很抱歉使用
mysql\u**
作为其弃用版本

// Database variables

$DB_HOST = 'localhost';
$DB_USER = 'root';
$DB_PASS = '1234';

$DB_SRC = 'existing_db';
$DB_DST = 'newly_created_db';



// MYSQL Connect

$mysqli = new mysqli( $DB_HOST, $DB_USER, $DB_PASS ) or die( $mysqli->error );



// Create destination database

$mysqli->query( "CREATE DATABASE $DB_DST" ) or die( $mysqli->error );



// Iterate through tables of source database

$tables = $mysqli->query( "SHOW TABLES FROM $DB_SRC" ) or die( $mysqli->error );

while( $table = $tables->fetch_array() ): $TABLE = $table[0];


    // Copy table and contents in destination database

    $mysqli->query( "CREATE TABLE $DB_DST.$TABLE LIKE $DB_SRC.$TABLE" ) or die( $mysqli->error );
    $mysqli->query( "INSERT INTO $DB_DST.$TABLE SELECT * FROM $DB_SRC.$TABLE" ) or die( $mysqli->error );


endwhile;

我不确定它是关于一个表还是整个数据库,因为您请求了一个表,但显示了一个试图复制完整数据库的代码

下面是我使用PHP和MySQLi复制完整数据库的脚本:

// Database variables

$DB_HOST = 'localhost';
$DB_USER = 'root';
$DB_PASS = '1234';

$DB_SRC = 'existing_db';
$DB_DST = 'newly_created_db';

$DB_TABLE = 'wp_options';


// MYSQL Connect

$mysqli = new mysqli( $DB_HOST, $DB_USER, $DB_PASS ) or die( $mysqli->error );


// Copy table and contents in destination database

$mysqli->query( "CREATE TABLE $DB_DST.$DB_TABLE LIKE $DB_SRC.$DB_TABLE" ) or die( $mysqli->error );
$mysqli->query( "INSERT INTO $DB_DST.$DB_TABLE SELECT * FROM $DB_SRC.$DB_TABLE" ) or die( $mysqli->error );
如果只想复制一个表,可以将其修改为如下内容(此代码中必须存在目标表):


@史蒂夫:我知道,但你没读我在答案第三行写的问题吗。。。。。
// Database variables

$DB_HOST = 'localhost';
$DB_USER = 'root';
$DB_PASS = '1234';

$DB_SRC = 'existing_db';
$DB_DST = 'newly_created_db';

$DB_TABLE = 'wp_options';


// MYSQL Connect

$mysqli = new mysqli( $DB_HOST, $DB_USER, $DB_PASS ) or die( $mysqli->error );


// Copy table and contents in destination database

$mysqli->query( "CREATE TABLE $DB_DST.$DB_TABLE LIKE $DB_SRC.$DB_TABLE" ) or die( $mysqli->error );
$mysqli->query( "INSERT INTO $DB_DST.$DB_TABLE SELECT * FROM $DB_SRC.$DB_TABLE" ) or die( $mysqli->error );