DaDaDooDoo
کاربر VIP
سلام من دو تا جدول مشابه دارم و می خوام اطلاعات یکی رو به دیگری منتقل کنم فقط نکته اینه که جدول ها توی دوتا دیتابیس مختلف و دوتا سرور مختلف هستند
کد زیر رو نوشتم کار می کنه اما می خوام بدونم روش ساده تری هم هست ؟
کد زیر رو نوشتم کار می کنه اما می خوام بدونم روش ساده تری هم هست ؟
PHP:
<?php
ini_set("display_errors", 1);
$source_host = 'localhost';
$db_source = 'ts';
$table_source = 'tbl6';
$source_db_username = 'root';
$source_db_pass = 'root';
$destination_host = 'localhost';
$db_destination = 'des';
$table_destination = 'tbl2';
$destination_db_username = 'root';
$destination_db_pass = 'root';
$whereStatment = "";
$localConnection = mysql_connect($source_host,$source_db_username,$source_db_pass);
mysql_select_db($db_source,$localConnection);
$surceDataArray = array();
$destinationArray = array();
$query = "SELECT * FROM " . $table_source . " " . $whereStatment;
$query_run = mysql_query($query,$localConnection);
echo $query . "<br/>";
while($result = mysql_fetch_assoc($query_run)){
$surceDataArray[] = $result ;
}
foreach ($surceDataArray as $temp) {
$destinationArray[] = $temp;
}
$records_count = count($destinationArray);
$serverConnection = mysql_connect($destination_host,$destination_db_username,$destination_db_pass);
mysql_select_db($db_destination,$serverConnection);
$inserted_query = "";
$query = "";
$fields_counter = 0;
$val_counter = 0;
for ($i=0; $i < $records_count; $i++) {
$query = "INSERT INTO " . $table_destination . "(";
$valuesArray = array();
foreach($destinationArray[$i] as $key=>$valu){
$fileds_count = count($destinationArray[$i]);
$fields_counter++;
$valuesArray[] = $valu;
$query .= $key;
if($fields_counter < $fileds_count){
$query .= ",";
}
}
$fields_counter = 0;
$query .= ") VALUES(";
foreach($valuesArray as $vale){
$val_counter++;
$query .= "'" . $vale . "'";
if($val_counter < $fileds_count){
$query .= ",";
}
}
$val_counter = 0;
//echo "<br/>";
$query .= ")";
echo $query;
$inserted_query = $query;
if(!mysql_query($query,$serverConnection)){
die(mysql_error());
}
unset($valuesArray);
unset($query);
}
//echo $inserted_query;
?>