Ho due server che ospitano due siti diversi con due database separati. Tuttavia, alcuni dati devono essere condivisi, quindi è in esecuzione un CRON per copiare i dati dal primo sito al secondo sito. Questi due siti venivano eseguiti sullo stesso server, ma ora li abbiamo separati, quindi sto tentando di modificare il PHP per poterlo gestire.Come inserire il valore di ritorno di un comando SQL in un'altra tabella utilizzando PHP
Ecco il codice dove sto incontrando il problema:
$sql = "SELECT * FROM site1.events";
$events = mysql_query($sql, $site1db);
$sql = "INSERT INTO site2.events SELECT * FROM $events";
$doIt = mysql_query($sql, $site2db);
Ora so che il SELECT * FROM site1.events
è successo, ma non può inserire nel secondo sito e non sto vedendo alcun tipo di errore . Non ho mai scritto PHP prima (questo è un compito legacy) quindi, se è già stato trattato in precedenza, non indicarmi la giusta direzione.
Si noti che site2.events
viene troncato prima di questi comandi, quindi non è necessario alcun confronto.
Utilizzare 'mysqli' invece di' mysql'. Non sono sicuro di come gestisce i server più piccoli ma potresti dare un'occhiata alle tabelle federate. – Coloco
'$ events' è una risorsa mysql e non penso che tu possa usarla come una stringa, tuttavia puoi scrivere' * FROM ($ sql) 'dato che' $ sql' è una stringa. Si noti che si sta utilizzando 'mysql_' che è deprecato e si consideri l'utilizzo di' mysqli_' come suggerito da @Coloco o 'PDO'. –