Merci à vous deux pour vos réponses rapides. Je vais retenir serialize mais je m'y suis pris autrement (sans doute du mauvais code mais bon... C'est juste pour un transfert).
En fait j'ai fait un fichier CSV des 36798 communes de France et DOM + TOM (90% issu d'un fichier INSEE - cf. site INSEE - épuré et mis à jour à la main, à l'ancienne ! Beaucoup de corrections à la main aussi) dont la structure est :
article de la commune (l',la,les,...) ;
commune ;
département ;
pays CR
Au début je voulais mettre tout cela dans un tableau à 2 dimensions du genre commune[nombre d'enregistrement_soit_36798][nombre de colonnes_soit_4]. Tout fonctionnait bien mais MySQL ne voulait rien savoir sur l'insertion de tableaux à deux dimensions... Donc finalement je m'y suis pris autrement :
En PHP, j'ai lu le fichier CSV caractère par caractère, en codant pour qu'il assemble l'article de la commune avec la commune (la plupart des communes n'ont pas d'articles mais il y en a qui en ont... Genre LE BOULOU et pas BOULOU) et qu'il remplace le retour de chariot par un point virugle et j'ai mis tout cela dans une variable
string en concaténant au fur et à mesure.
Au final, je n'avais plus qu'un grand fichier
string avec des variables séparées par des points-virgules. Puis j'ai fait un explode pour récupérer un tableau à une dimension et après l'avoir
addslashé,
trimé et
settypé, je l'ai envoyé à MySQL qui l'a bu comme du petit lait... Et là, je fume ma clop tranquille (Dites moi c'est pas encore interdit de fumer virtuellement dans des lieux publics virtuels ? Si ?....

)
Je mets le code au cas où mais franchement, c'est pas un modèle du genre.
<?php
// on lit ville.txt et on ensemble toutes les données dans un seul fichier texte
// on assemble l'article avec le nom de la ville les sauts de ligne par des ;
// ce qui donne 3 champs au lieu de 4 séparé par des ;
$ouvrir = fopen("D:/www/_RecupVilles/ville.txt", "r");
$pos=1;
if ($ouvrir)
{
while (!feof($ouvrir))
{
$car=fgets($ouvrir,2);
$codecar=ord($car);
if ($codecar<>"13")
{
if ($car<>";")
{
$tas.=$car;
}
else
{
if ($pos<>1)
{
$tas.=$car;
}
else
{
$tas=$tas."";
$pos++;
}
}
}
else
{
$tas.=";";
$car=fgets($ouvrir,2);
$pos=1;
}
}
}
fclose($ouvrir);
$element=explode(";",$tas);
# On fait un count pour connaitre le nombre de valeur dans l'Array : $nombre_element=count($element);
// On ecrit dans la table MySQL par groupe de 3
// on ouvre la BD
$connexion=mysqli_connect('localhost','test','2006','baseD');
if (!$connexion)
{
echo "Connexion impossible à localhost. Erreur : ". mysqli_connect_error();
exit();
}
echo 'connexion ok<br>';
$a=0;
for ($i=0;$i<=36797;$i++)
{
$b=$a;
$b1=$b+1;$b2=$b+2;
$ville=trim(addslashes(strtolower($element[$b])));
settype($ville,"string");
$cle_dept=trim(addslashes(strtolower($element[$b1])));
$cle_pays=trim(addslashes(strtolower($element[$b2])));
#echo $ville."-".$cle_dept."-".$cle_pays."<br>";
$enreg_ville=mysqli_query($connexion,"INSERT INTO ville (ville,cle_dept,cle_pays) VALUES ('$ville','$cle_dept','$cle_pays')");
$a=$a+3;
}
echo 'its ok';
?>
Pour moi, c'est résolu.
Allez merci et à bientôt pour une p'tite bouffe et a couple of beers.
Cia
Zeuf