在php脚本中创建数据库表的克隆
我必须创建数据库表的克隆。我使用wordpress数据库,我想创建一个WP选项表的克隆。如何在数据库中创建特定表的克隆。我找到了一些密码在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
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 );