Bei der Entwicklung von PHP -Anwendungen, die Sie benötigen , um Daten aus einer MySQL-Tabelle in eine andere verschieben , als wenn Sie versuchen, ein Upgrade, das zusätzliche Datenfelder erfordert installieren möchten. Um dies zu tun , können Sie die integrierte Methoden in der PHP MySQLi Erweiterung zur Abfrage von Daten verwenden, von der Quelle Tisch und legen Sie sie in der Zieltabelle. Erstellen Sie eine einzelne vorbereitete Anweisung , um die Daten in die Ziel- Tabelle einzufügen, binden die Ergebnisse der Abfrage, die Daten bilden die Quelltabelle in die vorbereitete Anweisung , und führen Sie die vorbereitete Anweisung für jeden Datensatz in der Quelltabelle extrahiert . Anleitung
1
Verwenden Sie einen HTML-Editor oder Notepad , um eine neue PHP-Programm zu erstellen. Beginnen Sie das Programm , indem Sie eine Verbindung zum Datenbank-Server und wählen Sie die Datenbank, die die Tabellen, für die Sie die Daten verschieben möchten enthält . Überprüfen Sie den Fehler nach dem Anschließen an sicherzustellen, dass es erfolgreich war. Typ:
< php
$ db = new mysqli ( 'localhost' , 'username' , 'password ', ' Datenbank ');
if ( mysqli_connect_errno ? () ) die ( mysqli_connect_error ());
2
initialisieren ein Array , um die Daten aus der Quelltabelle , die Sie in die Zieltabelle bewegen zu halten. Erstellen Sie eine Abfrage -String , die Sie verwenden , um die Daten aus der Quelltabelle extrahieren . Typ:
$ row = array ();
$ Tabelle1 = "SELECT id, name , email , Telefon FROM users ORDER ON -ID ";
3
erstellen Sie eine neue vorbereitete Anweisung mit dem MySQL- Befehl zum Einfügen von Daten in der Zieltabelle. Verwenden Fragezeichen , um die Werte , die eingefügt werden zeigen , und binden die Mitglieder des Array, das Sie mit der " bind_param "-Methode. Typ:
$ stmt = $ db- > prepare ( "INSERT INTO newusers (id , name, email, Telefon) VALUES ( ,,,) ? ? ";
$ stmt -> bind_param ( ' isss ', $ row [ 'id' ], $ row [ 'name'] , $ row [ 'email' ], $ row [ 'phone' ] );
4 .
Ausgabe der Abfrage, um Daten aus der Quelltabelle wählen Speichern Sie die Ergebnisse in der assoziativen Arrays Sie erklärte früher , und erstellen Sie eine Schleife, die jeden Datensatz ruft bis zum Ende der Tabelle Typ: .
$ result = $ db -> query ($ Tabelle1 );
while ($ row = $ result-> fetch_assoc ()) {
5
Führen Sie das vorbereitete Anweisung zum Einfügen der Daten . . . aus der Quelltabelle in die Zieltabelle Sicherstellen, dass der Einsatz erfolgreich war durch die Auswertung der " affected_rows " Eigenschaft der vorbereiteten Anweisung Schließen Sie die vorbereitete Erklärung vor dem Beginn einer neuen Art:
$ stmt -> execute () ;
if ($ stmt -> affected_rows = 1 ) {
echo " Keine Daten für Benutzer mit id = $ row eingesetzt [ 'id' ] ";
}
$ stmt - > close (); }
6
Schließen Sie die Datenbank , wenn der Vorgang abgeschlossen ist Speichern Sie die PHP-Programm . . Führen Sie es , um sicherzustellen, dass es richtig bewegt Daten aus einer Tabelle zu einem anderen Typ: . ?
$ db- > close ();
>