Notice: Undefined offset: 1

Résolu
Bonjour,
J'ai un fichier PHP dans lequel je veux importer des données depuis un fichier .txt vers la base du donnés Mysql.
J'ai eu cette erreur en le lançant :
----------------------------------------------------------------------------------------------------------------------------
Notice: Undefined offset: 1 in C:\.......\index.php on line 17

Notice: Undefined offset: 2 in C:\.......\index.php on line 17

Notice: Undefined offset: 3 in C:\.......\index.php on line 17

Notice: Undefined offset: 4 in C:\.......\index.php on line 17

Notice: Undefined offset: 5 in C:\.......\index.php on line 17

Notice: Undefined offset: 6 in C:\.......\index.php on line 17
----------------------------------------------------------------------------------------------------------------------------

Line 17 : list($carte,$kilomtrage,$date,$type,$quantity,$price,$location)= explode(';', $line);

2 réponses

  1. Modérateur
    Bonjour,

    L'instruction explode transforme une chaine en Array.
    Les messages d'erreurs semblent indiquer que ta chaine n'a pas pu être éxplosée...
    Sûrement une ligne vide ou au moins sans le séparateur recherché ( le point-virgule)

    A savoir que l'instruction list est vouée à disparaitre dans les nouvelles versions de php.
    Mieux vaut les traiter à la main:
    $tmp = explode(';', $line); 
    //on vérifie que l'explode a fonctionné :
    if(!empty($tmp) && count($tmp>0){
      $carte = !empty($tmp[0]) ? $tmp[0] : "";
      $kilomtrage =  !empty($tmp[1]) ? $tmp[1] : "";
       $date =  !empty($tmp[2]) ? $tmp[2] : "";
       $type =  !empty($tmp[3]) ? $tmp[3] : "";
      $quantity =  !empty($tmp[4]) ? $tmp[4] : "";
      $price  =  !empty($tmp[5]) ? $tmp[5] : "";
      $location  =  !empty($tmp[6]) ? $tmp[6] : "";
    }
    

    NB : A l'avenir, merci d'utiliser les balises de code pour poster du code sur le forum :
    https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

    1
    1. Bonsoir Jordane45
      Merci
      0