簡體   English   中英

如何使用PHP將SQL Server表中新添加的行轉移到相同的MySQL表中?

[英]How do I transfer newly added rows in an SQL Server table to an identical MySQL table using PHP?

基本上,我在SQL Server和MySQL中有兩個相同的表。 我想以這樣一種方式使用PHP,我只需要在其中一個中手動插入新值即可。 我想制作一個PHP代碼,其中只要按一下按鈕,SQL Server表中新插入的值也將插入MySQL中相同的副本中。

例如,我在SQL Server和MySQL中都有一個名為“ Customers”的表,其中的行為“ ID(自動遞增)”,“名稱”和“地址”。 我將新值插入SQL Server的這些列中。 我如何做到這一點,以便只需要按PHP中的按鈕,就不必在MySQL中再次執行整個“插入”過程了?

任何想法都非常感謝!

根據評論中提供的新信息,我正在更改答案並調整代碼。

代碼示例:

<?php
 $serverName = "server"; //serverName\instanceName
 $connectionInfo_mssql = array("Database"=>"DB", "UID"=>"username", "PWD"=>"password","CharacterSet"=>"UTF-8");
 $conn_mssql = sqlsrv_connect($serverName, $connectionInfo_bi);
 $conn_mysql = new mysqli("server", "username", "password", "db");

//SELECT FROM MS SQL DB
$mssql_array = array();
$ms_sql = "SELECT column_names FROM db_table";
$mssql_query = sqlsrv_query($conn_mssql , $ms_sql);
while($row = sqlsrv_fetch_array($mssql_query) {
  $mssql_array[] = array('name' => $row['name'],
                         'adress' => $row['adress']);
}

foreach($mssql_array as $key => $value) {

   //SELECT FROM MySQL DB
   $my_sql = "SELECT column_names FROM db_table WHERE name = '".$value['name']."' AND adress = '".$value['adress']."'";
   $mysql_query = mysqli_query($conn_mysql , $my_sql);
   $num_rows = mysqli_num_rows($mysql_query);

   if ($num_rows == 0) {
     //Insert in MySQL DB
     $sql = "INSERT INTO db_table (db_columns) VALUES (variables_from_array)";
     $sql_query = mysqli_query($conn_mysql, $sql);
   } else {
     //There is a record in DB, and maybe you want to update it. If not, then lose this else part.
   }

}

echo 'Table Customers from MS SQL DB and table Customers from MySQL DB are now synced!';

?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM