Importera CSV-data till MySQL databas med öppen källkod kan vara en utmaning . Folk föredrar ofta att organisera informationen i kalkylblad medan de skriver det , men när de gjort de måste importera den till MySQL , en besvärlig uppgift att göra för hand . Ett enkelt sätt att kringgå detta problem är att skapa ett PHP- skript som automatiskt importerar alla data . Instruktioner
1
Öppna CSV-filen som du vill öppna i en textredigerare som Anteckningar och undersöka filens format . Specifikt , notera vad tecknet används som avgränsare mellan fälten . Till exempel innehåller om CSV -filen texten " John , Smith , 6 , 58 " Observera att separatorn är semikolon ( "; " ) .
2
Kontrollera om den första raden i filen innehåller namnen på fälten som också kommer att finnas i databasen . Till exempel, om varje rad innehåller en persons förnamn , efternamn , höjd och ålder , se till att den första raden innehåller lämplig kolumnrubrik , t.ex. " förnamn , efternamn , höjd , ålder " . Om det inte finns , eller om den inte matchar fälten i databasen , bör du rätta till det .
3
Skapa MySQL tabellen som CSV-fil kommer att importeras till , om det inte redan finns . Om du är osäker på hur du gör detta , se avsnittet Resurser i denna artikel . Kontrollera att namnen på fälten i MySQL tabellen matchar dem i CSV -filen .
4
Kopiera PHP-skript nedan i en textredigerare som Anteckningar , och ange din databas information i andra linje. Ändra aktiverade ord att reflektera din information . Till exempel , ta bort " användarnamn" och skriv in ditt eget användarnamn . Spara filen som en . Php -fil . I Anteckningar görs detta genom att trycka på " File " och sedan " Spara som " på den övre menyraden , välja " Alla filer" i rullgardinsmenyn märkt " Spara som typ : " . Och trycka på " Spara "
Här är koden för dig att kopiera : ?
< php
$ DBINFO = array ( ' hostname ' = > ' hOSTNAME ' , ' dbname ' = > ' DB_NAME ' , ' username ' = > ' username ' , ' password ' = > ' Lösenord ' , ' tableName ' = > ' tabellnamn ');
fwrite ( STDOUT , "Ange hela sökvägen till CSV file : \\ n " ) ;
$ fullpath = fgets ( STDIN ) ;
fwrite ( STDOUT , " Ange fältseparator : \\ n " ) ;
$ september = fgets ( STDIN ) ;
$ första = true;
if ( ( $ handtag = fopen ( $ fullpath , " r " ) ) === FALSE ) die ( " Kunde inte öppna CSV-fil du angav " ) ;
för ( $ i = 0 ; ( $ data = fgetcsv ( $ handtag , 0 , $ sep) ) == false; ! $ i + + ) {
$ num = count ( $ data) ;
if ( $ först ) {
if ( $ num == 0