Importieren von CSV in MySQL mit PHP-Skript

March 15

Nachdem Sie eine MySQL-Datenbank erstellt haben, müssen Sie es mit Daten zu füllen. Die Daten für die Datenbank häufig sind enthalten, in eine kommagetrennte oder CSV Datei und Notwendigkeit in PHP importiert und in der MySQL-Datenbank geschrieben werden. Dies ist eine sehr einfache Aufgabe, die über integrierten Funktionen, die PHP, sowohl aus einer CSV-Datei importieren und bietet Ausgabe in einer MySQL-Datenbank erleichtern.

Anweisungen

MySQL Datenbank erstellen

1 Navigieren Sie zu der Eingabeaufforderung MySQL oder verwenden Sie ein Dienstprogramm wie PhpMyAdmin, um einen SQL-Befehl ausgeben. Erstellen Sie die MySQL-Datenbank. Geben Sie beispielsweise:

CREATE DATABASE capitals DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

2 Erstellen der MySQL-Tabelle, um die Daten zu speichern, die Sie aus der CSV-Datei importieren werden. Spiegeln Sie die Struktur der CSV-Datei, wenn praktische. Geben Sie beispielsweise:

Tabelle erstellen capitals . capitals (

idINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMÄRSCHLÜSSEL

stateVARCHAR (60) CHARACTER SET utf8 COLLATE utf8_unicode_ci nicht NULL,

cityVARCHAR (60) CHARACTER SET utf8 COLLATE utf8_unicode_ci nicht NULL

) ENGINE = MYISAM;

3 Erstellen Sie einen MySQL-Benutzer zum Zugriff auf die Datenbank, und erteilen Sie Berechtigungen für die Datenbank, die Sie erstellt. Geben Sie beispielsweise:

GRANT ALL PRIVILEGES ON capitals . * TO capitals bei localhost IDENTIFIED BY 'Passwort' WITH GRANT OPTION;

CSV-Import und in Datenbank schreiben

4 Erstellen Sie eine neue PHP-Datei mit einem Editor oder Notepad. Öffnen Sie die CSV-Datei, die Sie importiert werden. Geben Sie beispielsweise:

<? Php

$fh = fopen("data.csv") || sterben konnte ("nicht Datendatei öffnen!");

5 Verwenden Sie die "Fgetcsv"-Funktion, um jede Zeile der Datei als kommagetrennte Daten gelesen und erhalten einen Array der durch Kommas getrennte Werte. Geben Sie beispielsweise:

während (($data = fgetcsv($fh))) {}

6 Erstellen Sie eine MySQL-Abfrage-Anweisung unter Verwendung der durch Kommas getrennte Werte. Geben Sie beispielsweise:

$query = sprintf('INSERT INTO `capitals` (`id`, `state`, `city`) VALUES (null, "%s", "%s")', $data[0], $data[1]);7

Führen Sie die MySQL-Abfrage, um die Daten in die Tabelle einfügen. Geben Sie beispielsweise:

$result = mysql_query($query);

if (!$result) die("Error inserting data into MySQL!");

}

8 Schließen Sie die Importdatei, wenn alle Daten wurde eingefügt. Geben Sie beispielsweise:

fclose($FH);

? >

9 Speichern Sie die Datei, und führen Sie es in einem Browser. Überprüfen Sie die MySQL-Datenbank, um sicherzustellen, dass die Daten korrekt importiert.