Importere CSV data i MySQL database med åpen kildekode kan være utfordrende . Folk foretrekker ofte å organisere informasjonen i regneark mens de skriver det , men når de er ferdig må de importere den til MySQL, en besværlig oppgave å gjøre for hånd . En grei måte å omgå dette problemet på er å lage et PHP- script som automatisk importerer alle data . Instruksjoner
en
Åpne CSV -filen du ønsker å åpne i et tekstredigeringsprogram, for eksempel Notisblokk, og undersøke filens format. Legg spesielt merke hva tegnet brukes som skilletegn mellom feltene. For eksempel inneholder om CSV-filen teksten " John , Smith , 6, 58" oppmerksom på at separatoren er semikolon ( "; ") .
2
Kontroller om den første linjen i filen inneholder navnene på feltene som også finnes i databasen. For eksempel , hvis hver linje inneholder en persons fornavn , etternavn , høyde og alder , må den første raden inneholder den aktuelle kolonneoverskriften , slik som "fornavn , etternavn , høyde , alder " . Hvis det ikke finnes, eller det ikke samsvarer med feltene i databasen, bør du rette det opp.
3
Opprett MySQL tabell som CSV-filen skal importeres til , hvis det ikke allerede finnes . Hvis du ikke er sikker på hvordan du gjør dette , se ressursene i denne artikkelen . Sørg for at navnene på feltene i MySQL tabellen matche de i CSV -filen.
4
Kopier PHP script nedenfor i et tekstredigeringsprogram, for eksempel Notisblokk, og skriv inn database informasjon til andre linje . Endre kapitaliserte ord for å gjenspeile din informasjon. For eksempel fjerne "Brukernavn" og skriv inn ditt eget brukernavn. Lagre filen som en . Php fil . I Notisblokk dette gjøres ved å trykke på "File " og deretter "Lagre som" på toppmenyen , velge "Alle filer " i drop -down liste merket " Save as type: " . , Og trykke på " Lagre"
< p> Her er koden for å kopiere : ?
< php
$ DBINFO = array (' hostname ' = > ' hOSTNAME ', ' dbnavn ' = > ' DB_NAME ' , ' username '= >' BRUKERNAVN ' , ' password '= > ' Passord ' , ' tablename '= >' TABLE_NAME ');
fwrite ( STDOUT , "Vennligst oppgi hele banen til CSV file : \\ n ");
$ fullpath = fgets ( STDIN ) ;
fwrite ( STDOUT , " Vennligst skriv feltet separator : \\ n ");
$ sep = fgets ( STDIN ) ;
$ første = true;
if ( ( $ håndtere = fopen ( $ fullpath , "r ")) === FALSE ) die ("Kan ikke åpner CSV -filen du skrev ");
for ($ i = 0; ( $ data = fgetcsv ( $ håndtak, 0 , $ september ) ) == false; ! $ i + + ) {
< p > $ num = count ( $ data ) ;
if ( $ først ) {
if ( $ num == 0