簡體   English   中英

如何使用PHP將一個SQL命令的返回值插入另一個表中

[英]How to insert return value of one SQL command into another table using PHP

我有兩個服務器托管兩個不同的站點,兩個獨立的數據庫。 但是,有些數據需要共享 - 因此有一個CRON可以將數據從第一個站點復制到第二個站點。 這兩個站點曾經在同一台服務器上運行,但現在我們將它們分開,所以我試圖修改PHP以便能夠處理這個問題。

這是我遇到問題的代碼:

$sql = "SELECT * FROM site1.events";
$events = mysql_query($sql, $site1db);  

$sql = "INSERT INTO site2.events SELECT * FROM $events";
$doIt = mysql_query($sql, $site2db);

現在我知道SELECT * FROM site1.events是成功的,但它無法插入第二個站點,我沒有看到任何類型的錯誤。 我之前從未編寫過PHP(這是一項遺留任務),所以如果它之前已被覆蓋過,那么請指出正確的方向。

請注意, site2.events在這些命令之前被截斷,因此不需要進行比較。

您將不得不逐行比較和復制。 你現在試圖做的事情是行不通的。 如果數據庫在同一服務器上運行並且數據庫用戶可以訪問這兩個數據庫,則可以使用INSERT IGNORE INTO site2.events (SELECT * FROM site1.events) 不利的一面是,主鍵必須相同,否則您將錯過數據。

一個更好的選擇是簡單地讓site1在添加新事件時向site2做一個包含該事件的所有信息的回調。

暫無
暫無

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

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