Come: PHP per spostare i dati da una tabella MySQL a un altro

May 24

Durante lo sviluppo di applicazioni PHP, potrebbe essere necessario spostare i dati da una tabella di MySQL ad un altro, come quando si desidera installare un aggiornamento che richiede campi di dati aggiuntivi. Per fare questo, è possibile utilizzare i metodi incorporati nella estensione PHP MySQLi per interrogare i dati dalla tabella di origine e inserirlo nella tabella di destinazione. Creare una singola dichiarazione preparata per inserire i dati nella tabella di destinazione, legare i risultati della query che estrae i dati costituiscono la tabella di origine alla dichiarazione preparata ed eseguire l'istruzione preparata per ogni record nella tabella di origine.

istruzione

1 Utilizzare un editor HTML o Blocco note per creare un nuovo file di programma PHP. Iniziare il programma con l'apertura di una connessione al server di database e selezionando il database che contiene le tabelle per i quali si desidera spostare i dati. Controllare la condizione di errore dopo il collegamento per assicurarsi che ha avuto successo. Digitare:

<? Php

$ Db = new mysqli ( 'localhost', 'username', 'password', 'database');

if (mysqli_connect_errno ()) die (mysqli_connect_error ());

2 Inizializzare un array per contenere i dati della tabella di origine che si desidera spostare nella tabella di destinazione. Creare una stringa di query che verrà utilizzato per estrarre i dati dalla tabella di origine. Digitare:

$ Row = array ();

$ Table1 = "SELECT id, nome, email, telefono degli utenti ordine su id";

3 Creare una nuova dichiarazione preparata con il comando di MySQL per l'inserimento dei dati nella tabella di destinazione. Utilizzare punti interrogativi per indicare i valori che verranno inseriti e legare i membri della matrice è stato creato utilizzando il metodo "bind_param". Digitare:

$ Stmt = $ db-> prepare ( "INSERT INTO newusers (id, nome, email, telefono) VALORI (,,,)????";

$ Stmt-> bind_param ( 'ISSS', $ row [ 'id'], $ row [ 'name'], $ row [ 'email'], $ row [ 'telefono']);

4 Emettere la query per selezionare i dati dalla tabella di origine. Memorizzare i risultati nella matrice associativa si dichiarato in precedenza e creare un anello che recupera ogni record fino alla fine della tabella. Digitare:

$ Risultato = $ db-> query ($ tabella1);

while ($ row = $ result-> fetch_assoc ()) {

5 Eseguire l'istruzione predisposto per inserire i dati della tabella di origine nella tabella di destinazione. Assicurarsi che l'inserto è riuscito valutando il "affected_rows" di proprietà della dichiarazione preparata. Chiudere la dichiarazione preparata prima di iniziare una nuova. Digitare:

$stmt->execute();

if ($ stmt-> affected_rows! = 1) {

echo "Nessun dati inseriti per l'utente con id = $ row [ 'id']";

}

$ Stmt-> close ();

}

6 Chiudere il database quando la procedura è completa. Salvare il programma PHP. Eseguire di garantire si muove correttamente i dati da una tabella all'altra. Digitare:

$ Db-> close ();

?>