Php 电子表格($dblink,$table){ $result=mysqli_查询($dblink,“显示$table中的列”); $columns=[]; 如果(!$result){ echo“无法运行查询:”。mysql_错误(); 返回[]; } 如果(
电子表格($dblink,$table){ $result=mysqli_查询($dblink,“显示$table中的列”); $columns=[]; 如果(!$result){ echo“无法运行查询:”。mysql_错误(); 返回[]; } 如果(mysqli_num_行($result)>0){ while($row=mysqli\u fetch\u assoc($result)){ $columns[$row['Field']]=$row['Type']; } } 返回$columns; } 函数比较列($dblink1、$dblink2、$structure1、$structure2、$table){ foreach($structure2作为$field=>$type){ 如果(!array\u key\u存在($field,$structure2)){ $result=mysqli_query($dblink2,“ALTER TABLE cus_tbl ADD$字段$type NOT NULL”); 如果($结果){ echo“Table:”.$Table.“新字段已创建”$Field.“$type; } } } } 函数更新\查询\格式($row){ $query_format=“”; foreach($k=>v的行){ $query_格式。=''.$k.''='.$v.'',''; } //echo strlen($query_格式);退出; //echo substr($query\u format,0,strlen($query\u format)-1);退出; 返回substr($query\u格式,0,strlen($query\u格式)-1); }Php 电子表格($dblink,$table){ $result=mysqli_查询($dblink,“显示$table中的列”); $columns=[]; 如果(!$result){ echo“无法运行查询:”。mysql_错误(); 返回[]; } 如果(,php,database,Php,Database,电子表格($dblink,$table){ $result=mysqli_查询($dblink,“显示$table中的列”); $columns=[]; 如果(!$result){ echo“无法运行查询:”。mysql_错误(); 返回[]; } 如果(mysqli_num_行($result)>0){ while($row=mysqli\u fetch\u assoc($result)){ $columns[$row['Field']]=$row['Type']; } } 返回$column
你不需要PHP,你可以使用SQL这是一个表还是整个数据库?首先建议不要使用
mysql\ucode>api调用。我不会直接使用PHP,而是直接使用mysql,只需连接到服务器并执行以下操作:mysqldump-u dump.sql然后恢复:mysql-u-p second_db_name$sql1 = "DELETE FROM Kunthanahali.justshawarma_aauth_groups;";
$result1 = $conn->query($sql1);
$sql2 = "INSERT INTO Kunthanahali.justshawarma_aauth_groups SELECT * FROM justshawarmapos.justshawarma_aauth_groups;";
$result2 = $conn->query($sql2);
<?php
$dblink1=mysql_connect('$ip1', '$user1', '$pass1'); // connect server 1
mysql_select_db('$database1',$dblink1); // select database 1
$dblink2=mysql_connect('$ip2', '$user2', '$pass2'); // connect server 2
mysql_select_db('$database2',$dblink2); // select database 2
$tables = mysql_fetch_array(mysql_query("SHOW TABLES ",$dblink1));
//$table='tabletest';
foreach($tables as $table){
$tableinfo = mysql_fetch_array(mysql_query("SHOW CREATE TABLE $table ",$dblink1)); // get structure from table on server 1
mysql_query(" $tableinfo[1] ",$dblink2); // use found structure to make table on server 2
$result = mysql_query("SELECT * FROM $table ",$dblink1); // select all content
while ($row = mysql_fetch_array($result, MYSQL_ASSOC) ) {
mysql_query("INSERT INTO $table (".implode(", ",array_keys($row)).") VALUES ('".implode("', '",array_values($row))."')",$dblink2); // insert one row into new table
}
}
mysql_close($dblink1);
mysql_close($dblink2);
<?php
$dblink1=mysqli_connect('127.0.0.1', 'root', ''); // connect server 1
mysqli_select_db($dblink1,'pdb1'); // select database 1
$dblink2=mysqli_connect('127.0.0.1', 'root', ''); // connect server 2
mysqli_select_db($dblink2,'pdb4'); // select database 2
$tables = mysqli_fetch_array(mysqli_query($dblink1,"SHOW TABLES "));
//$table='tabletest';
foreach($tables as $table){
$tableinfo = mysqli_fetch_array(mysqli_query($dblink1,"SHOW CREATE TABLE $table ")); // get structure from table on server 1
mysqli_query($dblink2," $tableinfo[1] "); // use found structure to make table on server 2
$result = mysqli_query($dblink1,"SELECT * FROM $table "); // select all content
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC) ) {
mysqli_query($dblink2,"INSERT INTO $table (".implode(", ",array_keys($row)).") VALUES ('".implode("', '",array_values($row))."')"); // insert one row into new table
}
}
mysqli_close($dblink1);
mysqli_close($dblink2);
mysqldump --databases yourdb --password=pw | mysql -u user --password=pw otherdb
mysqli_select_db($dblink1,'db1'); // select database 1
$dblink2=mysqli_connect('127.0.0.1', 'root', ''); // connect server 2
mysqli_select_db($dblink2,'db2'); // select database 2
$result = (mysqli_query($dblink1,"SHOW TABLES "));
while ($row = mysqli_fetch_row($result)) {
$tables[] = $row[0];
}
echo "Searching Table: ".$tables[0] ."<br>";
foreach ($tables as $i => $table){
$val = mysqli_query($dblink2,"select 1 from $table ");
if($val !== FALSE) /***** table exists */
{
$structure1= get_colums($dblink1, $table);
$structure2= get_colums($dblink2, $table);
compare_colums($dblink1,$dblink2, $structure1, $structure2, $table );
$result = mysqli_query($dblink1,"SELECT * FROM $table "); // select all content
echo $table." Updating table.... "."<br>";
$rowcount=mysqli_num_rows($result);
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC) ) {
$update_string = update_query_format($row );
mysqli_query($dblink2,"INSERT INTO $table (".implode(", ",array_keys($row)).") VALUES ('".implode("', '",array_values($row))."')
ON DUPLICATE KEY UPDATE $update_string "); // insert one row into new table
}
echo $table." Updating table Completed.... total updated: $rowcount"."<br><br><br>";
}
else
{
/**** table not exists */
echo $table." Table not found "."<br>";
echo $table." Creating table... "."<br>";
$tableinfo = mysqli_fetch_array(mysqli_query($dblink1,"SHOW CREATE TABLE $table ")); // get structure from table on server 1
mysqli_query($dblink2," $tableinfo[1] "); // use found structure to make table on server 2
$result = mysqli_query($dblink1,"SELECT * FROM $table "); // select all content
echo $table." Copying table.... "."<br><br><br>";
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC) ) {
mysqli_query($dblink2,"INSERT INTO $table (".implode(", ",array_keys($row)).") VALUES ('".implode("', '",array_values($row))."')"); // insert one row into new table
}
}
}
mysqli_close($dblink1);
mysqli_close($dblink2);
function compare_structure($table, $dblink1 , $dblink2){
/*** Check if table exists */
$val = mysqli_query($dblink2,"select 1 from $table ");
if($val !== FALSE) /***** table exists */
{
$structure1= get_colums($dblink1, $table);
$structure2= get_colums($dblink2, $table);
compare_colums($dblink1,$dblink2, $structure1, $structure2, $table );
$result = mysqli_query($dblink1,"SELECT * FROM $table "); // select all content
echo $table." Updating table.... "."<br>";
$rowcount=mysqli_num_rows($result);
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC) ) {
$update_string = update_query_format($row );
mysqli_query($dblink2,"INSERT INTO $table (".implode(", ",array_keys($row)).") VALUES ('".implode("', '",array_values($row))."')
ON DUPLICATE KEY UPDATE $update_string "); // insert one row into new table
}
echo $table." Updating table Completed.... total updated: $rowcount"."<br><br><br>";
}
else
{
/**** table not exists */
echo $table." Table not found "."<br>";
echo $table." Creating table... "."<br>";
$tableinfo = mysqli_fetch_array(mysqli_query($dblink1,"SHOW CREATE TABLE $table ")); // get structure from table on server 1
mysqli_query($dblink2," $tableinfo[1] "); // use found structure to make table on server 2
$result = mysqli_query($dblink1,"SELECT * FROM $table "); // select all content
echo $table." Copying table.... "."<br><br><br>";
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC) ) {
mysqli_query($dblink2,"INSERT INTO $table (".implode(", ",array_keys($row)).") VALUES ('".implode("', '",array_values($row))."')"); // insert one row into new table
}
}
}
function get_colums($dblink, $table){
$result = mysqli_query($dblink,"SHOW COLUMNS FROM $table ");
$columns = [];
if (!$result) {
echo 'Could not run query: ' . mysql_error();
return [];
}
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) {
$columns[$row['Field']] = $row['Type'];
}
}
return $columns;
}
function compare_colums( $dblink1, $dblink2, $structure1, $structure2, $table ){
foreach ($structure2 as $field => $type){
if (!array_key_exists($field,$structure2)){
$result = mysqli_query($dblink2,"ALTER TABLE cus_tbl ADD $field $type NOT NULL ");
if ($result){
echo "Table: ". $table." New Field created ".$field. " ". $type. " .... "."<br>";
}
}
}
}
function update_query_format($row){
$query_format = "";
foreach ($row as $k => $v){
$query_format .= " ".$k. " = '". $v ."',";
}
// echo strlen($query_format);exit;
// echo substr($query_format, 0,strlen($query_format)-1); exit;
return substr($query_format, 0, strlen($query_format)-1);
}