Notice: Undefined offset: 1 [Résolu]

Signaler
Messages postés
3
Date d'inscription
dimanche 15 décembre 2019
Statut
Membre
Dernière intervention
1 janvier 2020
-
ACHAHALI
Messages postés
3
Date d'inscription
dimanche 15 décembre 2019
Statut
Membre
Dernière intervention
1 janvier 2020
-
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

Messages postés
27350
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 janvier 2020
2 040
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

Messages postés
3
Date d'inscription
dimanche 15 décembre 2019
Statut
Membre
Dernière intervention
1 janvier 2020

Bonsoir Jordane45
Merci