Insertion float mysql m'affiche que le premier chiffre
Fermé
nemeum
Messages postés
27
Date d'inscription
dimanche 9 mars 2014
Statut
Membre
Dernière intervention
23 août 2023
-
Modifié le 8 mars 2022 à 12:58
mamiemando Messages postés 33357 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 14 novembre 2024 - 9 mars 2022 à 15:09
mamiemando Messages postés 33357 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 14 novembre 2024 - 9 mars 2022 à 15:09
A voir également:
- Insertion float mysql m'affiche que le premier chiffre
- Excel trier par ordre croissant chiffre - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Le clavier de mon telephone ne s'affiche plus - Guide
- Insertion liste déroulante excel - Guide
- Insertion signature word - Guide
4 réponses
jordane45
Messages postés
38286
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 novembre 2024
4 698
8 mars 2022 à 13:13
8 mars 2022 à 13:13
Bonjour
Comment as-tu paramétrer ce champ dans ta base de données ?
Comment as-tu paramétrer ce champ dans ta base de données ?
nemeum
Messages postés
27
Date d'inscription
dimanche 9 mars 2014
Statut
Membre
Dernière intervention
23 août 2023
8 mars 2022 à 15:09
8 mars 2022 à 15:09
dans la base il est déclaré double
jordane45
Messages postés
38286
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 novembre 2024
4 698
Modifié le 8 mars 2022 à 17:11
Modifié le 8 mars 2022 à 17:11
Ton $resultat[0] me parait étrange...
vu que tu remplit ta variable avec cette ligne de code
Je pense donc que tu dois juste utiliser
sinon ça ne te retourne que le premier caractère...
Tu peux aussi faire un var_dump de ta variable pour voir ce qu'elle contient.... ( et nous le montrer si besoin )
vu que tu remplit ta variable avec cette ligne de code
$resultat=$lignes[$i][$j];
Je pense donc que tu dois juste utiliser
$proses = mysqli_query($mysqli, "INSERT INTO heliumzahra (helium) values('$resultat')");
sinon ça ne te retourne que le premier caractère...
Tu peux aussi faire un var_dump de ta variable pour voir ce qu'elle contient.... ( et nous le montrer si besoin )
mamiemando
Messages postés
33357
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
14 novembre 2024
7 799
Modifié le 8 mars 2022 à 15:50
Modifié le 8 mars 2022 à 15:50
Bonjour,
Bonne chance
- Est-ce normal que tu aies mis des simple quotes autour de
$resultat[0]
dans ta requête ? Personnellement, je n'aurais rien mis. - Si tu fais un
echo $resultat[0];
, as-tu bien un résultat flottant ? - Si tu fais un
echo "INSERT INTO heliumzahra (helium) values('$resultat[0]')";
, est-ce que la requête est correctement construite ? - Si tu lances la requête
INSERT INTO heliumzahra (helium) values(79.3);
dans un client SQL, est-ce que ça fait ce qu'il faut ?
Bonne chance
nemeum
Messages postés
27
Date d'inscription
dimanche 9 mars 2014
Statut
Membre
Dernière intervention
23 août 2023
Modifié le 9 mars 2022 à 15:03
Modifié le 9 mars 2022 à 15:03
Ok, j'ai utilisé
J'ai utilisé
$resultatau lieu de
$resultat[0]et quand j'utilise
INSERT INTO heliumzahra (helium) values(79.3);, il insère bien
79.3dans la base.
J'ai utilisé
var_dumpet le résultat est le suivante :
string '8' (length=1)
string '0' (length=1)
string '.' (length=1)
string '3' (length=1)
string ' ' (length=1)
jordane45
Messages postés
38286
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 novembre 2024
4 698
Modifié le 9 mars 2022 à 15:03
Modifié le 9 mars 2022 à 15:03
C'est donc que ta variable
Que donnes un
Et puis.. que contient ton fichier
Le souci ne semble clairement pas venir de l'insertion en BDD .. mais bien de la façon dont tu essaies de lire le contenu de ce fichier !
$resultatne contient pas la valeur que tu espères ...
Que donnes un
var_dumpde la variable
$lignes?
Et puis.. que contient ton fichier
helium.txt?
Le souci ne semble clairement pas venir de l'insertion en BDD .. mais bien de la façon dont tu essaies de lire le contenu de ce fichier !
nemeum
Messages postés
27
Date d'inscription
dimanche 9 mars 2014
Statut
Membre
Dernière intervention
23 août 2023
>
jordane45
Messages postés
38286
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 novembre 2024
Modifié le 9 mars 2022 à 15:05
Modifié le 9 mars 2022 à 15:05
jordane45
Messages postés
38286
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 novembre 2024
4 698
>
nemeum
Messages postés
27
Date d'inscription
dimanche 9 mars 2014
Statut
Membre
Dernière intervention
23 août 2023
9 mars 2022 à 10:05
9 mars 2022 à 10:05
C'est donc un fichier CSV (peu importe l'extension.. txt, csv, ou n'importe quoi d'autre..) avec, comme séparateur, des tabulations ?
Il existe donc une fonction PHP permettant de facilement lire un fichier de ce type...
https://www.php.net/manual/fr/function.fgetcsv.php
Il existe donc une fonction PHP permettant de facilement lire un fichier de ce type...
https://www.php.net/manual/fr/function.fgetcsv.php
mamiemando
Messages postés
33357
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
14 novembre 2024
7 799
>
jordane45
Messages postés
38286
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 novembre 2024
Modifié le 9 mars 2022 à 15:11
Modifié le 9 mars 2022 à 15:11
Jordane45 a raison, tu parses mal ton fichier texte.
Comme jordane45 ton fichier est de type
Bonne chance
$lignesest un tableau de chaîne dont chaque chaîne de caractère correspond à une ligne de fichier.
Comme jordane45 ton fichier est de type
.csv(le délimiteur semble être l'espace). Pour le charger en base deux approches sont possibles :
- Méthode 1 : comme jordane45 le propose, tu peux utiliser
fgetcsv
permet de charger le contenu d'un fichier.csv
en distinguant les colonnes entre elles (voir l'exemple dans ce lien). - Méthode 2 : En MySQL, tu peux directement charger un fichier
.csv
en base avecLOAD DATA INFILE
.
Bonne chance