Annonce

Lorsque vous exposez un problème que vous rencontrez sur votre site, n’omettez pas de bien préciser l’adresse de la page (URL) concernée.

Ouvrez un nouveau sujet de discussion pour poser une question, n'utilisez pas une discussion déjà ouverte si votre problème est différent.
Lorsque votre sujet est résolu, indiquez-le en cliquant sur le lien "Passer le sujet en résolu".

Pour les possesseurs de sites Minecraft : Tous les ports TCP/UDP en sortie sont ouverts.
Pour en savoir plus : https://www.franceserv.fr/wiki/minecraft

#1 11/09/2020 20:37:52

philippe40
Membre
Inscription : 21/10/2012
Messages : 24

[Résolu] Insérer un valeur négative dans mySQl

Bonsoir,
J'ai une requête qui envoie les données suivantes dans une page PHP

array (
  'id' => '160',
  'code_article' => '3660603004927',
  'product_name' => 'Bénédicta Sauce au bleu le pot de 260 g',
  'createdon' => '2020-09-11',
  'qt' => '1',
  'pa' => '2.74',
  'longitide' => '-1.2560526',
  'latitude' => '44.0785292',
  'id_magasin' => '2',
  'utilisateur' => '82942d7411af0066',
)

Le champ longitude est négatif mais s'enregistre à zéro dans la base de données

Dans ma page PHP

$dbh = new PDO('mysql:host='.$host.';dbname='.$base, $user, $pass);
                                 
$sql = "INSERT INTO wp3_achats (id,code_article, product_name,createdon,qt,pa,longitude,latitude,id_magasin,utilisateur)
                         VALUES
                         (
                         '$_POST[id]'           ,
                         '$_POST[code_article]' ,
                         '$_POST[product_name]' ,
                         '$_POST[createdon]'    ,
                             '$_POST[qt]'           ,
                         '$_POST[pa]'           ,
                         '$_POST[longiture]'    ,         
                         '$_POST[latitude]'     ,
                         '$_POST[id_magasin]'   ,
                         '$_POST[utilisateur]'   
                         )";

Le type de  champ dans ma base de données est double(10,4)

Mes recherche sur internet sont restées infructueuses

Avez vous une solution pour ce problème
Merci d'avance
Cordialement
Philippe

Hors ligne

#2 11/09/2020 20:49:40

elodie
Responsable/CEO FranceServ Hébergement
Lieu : Jura
Inscription : 02/04/2010
Messages : 7 678
Site Web

Re : [Résolu] Insérer un valeur négative dans mySQl

Bonsoir,

Avant de se plonger dans votre questionnement, je dois vous faire remarquer quelque chose de TRES important.

Vous utilisez du POST directement dans la requête SQL sans la préparer avec PDO, du coup n'importe qui peut envoyer une sous requête SQL pour lancer ce qu'il veut sur toutes vos données SQL et même supprimer toutes vos données dans vos bases de données en quelques secondes. C'est ce que l'on nomme de l'injection SQL.

Ensuite, si la valeur de la longitude est à 0, c'est peut être parce que vous ne la renseignez pas et du coup elle est à 0 comme c'est un nombre. Vous avez mis un "R" au lieu de la lettre "D" dans le nom de la variable "longituRe" :

philippe40 a écrit :

'$_POST[longiture]


P8OdseCN.gifVous avez une question ?

Posez-la de préférence sur le forum et si ça demande un contact plus instantané, n'hésitez pas à vous rendre sur le t'chat IRC. Si votre question est personnelle, utilisez alors dans ce cas le formulaire de contact ou alors le téléphone.

Hors ligne

#3 12/09/2020 07:26:05

philippe40
Membre
Inscription : 21/10/2012
Messages : 24

Re : [Résolu] Insérer un valeur négative dans mySQl

Encore une fois merci de votre aide.
Je n'avais pas vu la faute et je tournais en rond.
Je vais tenir compte de votre avis sur la protection des injections
cordialement
Philippe

Hors ligne

Pied de page des forums

[ Générées en 0.034 secondes, 9 requêtes exécutées - Utilisation de la mémoire : 603.84 Kio (pic d'utilisation : 624.34 Kio) ]