Nello sviluppo di applicazioni PHP , potrebbe essere necessario spostare i dati da una tabella MySQL ad un altro , come quando si desidera installare un aggiornamento che richiede ulteriori campi dati . Per fare questo, è possibile utilizzare i metodi incorporati nella estensione PHP MySQLi per interrogare i dati dalla tabella di origine e di inserirla 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 per la dichiarazione preparata ed eseguire l'istruzione preparata per ogni record della tabella di origine . Istruzioni
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 selezionare il database che contiene le tabelle per il quale si desidera spostare i dati . Controllare la condizione di errore dopo il collegamento per assicurare che era successo . Tipo:
< php
$ db = new mysqli ( 'localhost' , 'username' , 'password ', ' database' ) ;
se ( mysqli_connect_errno ? ( ) ) die ( mysqli_connect_error ());
2
inizializzare un array per contenere i dati dalla 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 . Tipo:
$ row = array ();
$ tabella1 = "SELECT id , nome, email , telefono da utenti ORDINE ON id" ;
3
Creare una nuova dichiarazione preparata con il comando di MySQL per l'inserimento di dati nella tabella di destinazione. Utilizzare punti di domanda per indicare i valori che verranno inseriti e di legare i membri della matrice è stato creato utilizzando il metodo " bind_param " . Tipo:
$ stmt = $ db - > prepare ( " INSERT INTO newusers ( id , nome, email , telefono) VALUES ( , , , ) ? ? ? ? " ;
$ sTMT > bind_param ( ' ISSS ' , $ row [ 'id' ] , $ row [ 'name' ] , $ row [ 'email' ] , $ row [' telefono '] ) ;
4 .
emissione il criterio per selezionare i dati dalla tabella di origine memorizzare i risultati in array associativo hai dichiarato in precedenza e creare un anello che consente di recuperare ogni record fino alla fine della tabella Tipo: .
$ risultato = $ db - > query ( $ tabella 1 ) ;
while ( $ row = $ result - > fetch_assoc ( ) ) {
5
eseguire l'istruzione preparata per inserire i dati . . . dalla tabella di origine nella tabella di destinazione Verificare che l'inserto è riuscita valutando la proprietà " affected_rows " della dichiarazione preparata Chiudere la dichiarazione preparata prima di iniziare un nuovo Tipo :
$ stmt - > execute () ;
if ( $ stmt - > affected_rows = 1! ) {
echo " Non ci sono dati inseriti per l' utente con id = $ row [' id '] " ; < br
}
>
$ stmt - > close (); }
6
chiudere il database , quando la procedura è completa Salva il programma PHP . . eseguirlo per assicurare che si muove correttamente i dati da una tabella ad un altro tipo : . ?
$ db - > close ();
>