Lesen Sie tab-getrennte text-Datei in MySQL Tabelle mit PHP

Ich versuche zu Lesen, in einer Reihe von tab-getrennte text-Dateien in bestehende MySQL-Tabellen. Der code, den ich habe, ist ganz einfach:

$lines = file("import/file_to_import.txt");

foreach ($lines as $line_num => $line) {
    if($line_num > 1) {
        $arr = explode("\t", $line);
        $sql = sprintf("INSERT INTO my_table VALUES('%s', '%s', '%s', %s, %s);", trim((string)$arr[0]), trim((string)$arr[1]), trim((string)$arr[2]), trim((string)$arr[3]), trim((string)$arr[4]));
        mysql_query($sql, $database) or die(mysql_error());
    }
}

Aber egal was ich mache (also das casting vor jede variable in der sprintf-Anweisung) bekomme ich "Sie haben einen Fehler in Ihrer SQL-syntax; Lesen Sie im Handbuch, das entspricht Ihrer MySQL-server-version für den richtigen syntax zur Verwendung in der Nähe "in Zeile 1" Fehlermeldung.

Echo ich aus dem code, fügen Sie es in eine MySQL-editor, und es läuft wunderbar, nur es wird nicht ausgeführt von der PHP-Skript.

Was mache ich falsch??

Si

UPDATE: Hier sind die echoe würd SQL:

INSERT INTO wheelbase (WheelBaseCode, LanguageCode, WheelBaseDescription) VALUES ('A1', 'GBEN', '2.50-2.99m')
INSERT INTO wheelbase (WheelBaseCode, LanguageCode, WheelBaseDescription) VALUES ('A2', 'GBEN', '3.00-3.49m')
INSERT INTO wheelbase (WheelBaseCode, LanguageCode, WheelBaseDescription) VALUES ('A3', 'GBEN', '3.50-3.99m')
INSERT INTO wheelbase (WheelBaseCode, LanguageCode, WheelBaseDescription) VALUES ('A4', 'GBEN', '4.00-4.49m')

Interessant, ich habe nun schon die Schaffung der richtigen Anzahl der Zeilen in der Tabelle, aber die Werte, die eingefügt sind leer...

Könnte dies ein Codierung Problem in der Quell-text-Datei??

InformationsquelleAutor Simon S | 2010-04-30
Schreibe einen Kommentar