Erste Zeile (Spaltenüberschriften) vor dem Import in eine MySQL entfernen


loddarmattheus

Erfahrenes Mitglied
Hallo Leute,
ich steh mal wieder auf dem Schlauch. Ich habe eine txt.-Datei, die mittels php in eine MySQL eingetragen werden soll. Dies hier funktioniert schon ganz gut, aber sofern eine Zeile mit Spaltenüberschriften vorhanden ist, wird die immer mit eingetragen?

PHP:
<?php
$conn = new mysqli('localhost','root','','bla');
$file = fopen("test2.txt", "r");

while (!feof($file)) {
    $content = fgets($file);
    $carray = explode(" ", $content);
    list($ip,$zeit,$versuche) = $carray;
    $sql = "INSERT INTO `test` (`IP`, `time`, `tryes`) VALUES ('$ip', '$zeit', '$versuche')";
    $conn->query($sql);
}
fclose($file);
?>
Auch der Befehl unset($file[0]); bringt mich nicht weiter. Es soll also immer genau die erste Zeile "ignoriert" werden. Hat jemand einen Tipp für mich?
Danke Loddar
 

DerKleene1

Mitglied
Man könnte es evtl. so machen:
PHP:
<?php
$conn = new mysqli('localhost','root','','bla');

$file = file("zitate.txt");
for($i=0;$i < count($file); $i++){
    if($i != 0) {
        $carray = explode(" ",$file[$i]);
        list($ip,$zeit,$versuche) = $carray;
        $sql = "INSERT INTO `test` (`IP`, `time`, `tryes`) VALUES ('$ip', '$zeit', '$versuche')";
        $conn->query($sql);
    }
}
?>
Habe ich nun nur Freihand hingeschrieben, könnte also Fehler enthalten.
 

Sempervivum

Erfahrenes Mitglied
Warum nicht einfach so:
Code:
for($i=1;$i < count($file); $i++){
    $carray = explode(" ",$file[$i]);
    list($ip,$zeit,$versuche) = $carray;
    $sql = "INSERT INTO `test` (`IP`, `time`, `tryes`) VALUES ('$ip', '$zeit', '$versuche')";
    $conn->query($sql);
}
 

Neue Beiträge