Ved utvikling av PHP-applikasjoner , må du kanskje flytte data fra en MySQL tabell til en annen , så når du ønsker å installere en oppgradering som krever flere datafelt . For å gjøre dette , kan du bruke de innebygde metoder i PHP MySQLi utvidelse til spørring data fra kilden tabellen og sett den inn i måltabellen . Lag et enkelt forberedt uttalelse for å sette dataene inn i måltabellen , binde resultatene av spørringen som trekker ut data danne kildetabellen til forberedt uttalelse og utføre forberedt uttalelse for hver post i kildetabellen . Instruksjoner
en
Bruk en HTML- editor eller Notisblokk til å opprette en ny PHP programfilen. Begynner programmet ved å åpne en tilkobling til database-serveren og velge databasen som inneholder tabellene som du ønsker å flytte data . Kontrollere feilen etter tilkobling for å sikre at det var vellykket. Type:
< php
$ db = new mysqli (' localhost' , 'username ', ' passord ', ' database ');
if ( mysqli_connect_errno ? ( ) ) die ( mysqli_connect_error ( ));
2
Initialiser en matrise for å holde dataene fra kilden tabellen som du vil flytte til måltabellen . Lag en spørring streng som du vil bruke for å trekke ut data fra kilden tabellen . Type:
$ row = array ();
$ table1 = "SELECT id , navn , e-post, telefon FROM brukere rekkefølge på id ";
3
Opprett en ny forberedt uttalelse med MySQL -kommandoen for å sette inn data i måltabellen . Bruk spørsmålstegn for å indikere verdiene som skal føres inn og binde medlemmene i tabellen du opprettet ved hjelp av " bind_param " metoden. Type:
$ stmt = $ db - > forberede ( " INSERT INTO newusers (id , navn , e-post , telefon) VALUES ( , , , ) ? ? ";
$ stmt - > bind_param (' ISSS ' , $ row [' id '] , $ row [' name'] , $ row [' epost '] , $ row [' telefon '] );
4 .
Issue spørringen å velge data fra kildetabellen Lagre resultatet i den assosiative array du erklært tidligere og lage en løkke som henter hver post til slutten av tabellen Type: .
$ resultat = $ db - > spørring ( $ table1 ) ;
while ( $ row = $ resultat - > fetch_assoc ( ) ) {
5
Kjør forberedt uttalelse for å sette inn data . . . fra kildetabellen til måltabellen Sørg for innsatsen var vellykket med evalueringen av " affected_rows " eiendom forberedt uttalelse Lukk forberedt uttalelse før du starter en ny Type:
$ stmt - > utføre ( ) ;
if ( $ stmt - > affected_rows = 1 ! ) {
echo " Ingen data satt inn for bruker med id = $ row [' id '] ";
}
$ stmt - > close () ;
}
6
Lukk databasen når prosedyren er fullført Lagre PHP -programmet. . Kjør den for å sikre den riktig flytter data fra en tabell til en annen type : . ?
$ db - > close () ;
>