Sérieux problème avec les nombres et mysql

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par code, 12 Janvier 2007.

  1. code
    code WRInaute impliqué
    Inscrit:
    29 Juillet 2005
    Messages:
    617
    J'aime reçus:
    0
    Bonjour,

    sur le site de mon www, je suis confronté à un problème récurrent et pour le moins génant :

    Certaines opérations sur le site provoquent des enregistrements par addition et soustraction dans la base de données.

    Mais il s'avère que parfois (rarement heureusement), il y a un bug qui fait qu'au lieu d'ajouter par exemple 1000 à la valeur actuelle d'un champ, je retrouve un chiffre complètement erroné et toujours le même soit 16xxxxxxxx
    (certainement le maximum possible que peut permettre le type de champ)

    Pour info, ce bug se produit sur des champs de ce type : mediumint(10)

    Je suis sûr que ça vient de là et que je me suis planté à ce niveau, mediumint ne doit pas convenir pour traiter les opérations que je demande

    Qu'en pensez-vous ?
     
  2. code
    code WRInaute impliqué
    Inscrit:
    29 Juillet 2005
    Messages:
    617
    J'aime reçus:
    0
    Ce que j'apprécie sur ce forum, c'est qu'à chaque fois que je pose une question qui nécessite de l'aide, je constate qu'il y a foule pour répondre.

    Par contre dés que quelqu'un ouvre un sujet pour dire qu'il y a une GoogleDance, ou que des sites montes dans l'index et que d'autre perdent des places, alors là il y a des pages et des pages de réponses...
     
  3. gabriel_f
    gabriel_f Nouveau WRInaute
    Inscrit:
    12 Janvier 2007
    Messages:
    18
    J'aime reçus:
    0
    Salut,

    A priori en unsigned ( donc toujours > 0 ) la valeur max d'un mediumint cest
    (doc mysql) The unsigned range is 0 to 16777215.

    Donc vraisemblablement , tu arrives a cette valeur max et mysql cap. ( chose qui m'est deja arrivé) t'es bon pour passer en INT ou t'as plus de marge, et apres en BIGINT si tu pousses vraiment loin

    http://dev.mysql.com/doc/refman/4.1/en/ ... rview.html

    Voila jespere t'avoir aidé ( un peu )
     
  4. code
    code WRInaute impliqué
    Inscrit:
    29 Juillet 2005
    Messages:
    617
    J'aime reçus:
    0
    merci pour ta réponse mais apparemment le probleme se situe ailleurs. Car en fait il se passe que par exemple un enregistrement ajoute 1000 à la valeur actuelle du champ, par exemple 500. Je devrais donc avoir comme nouvelle valeur 500+1000 = 1500

    Et c'ets là ou je me retrouve de temps en temps avec la valeur maximum permise par mediumint, soit 16777215, ce qui n'est absolument pas normal !
     
  5. ACth
    ACth WRInaute impliqué
    Inscrit:
    11 Novembre 2006
    Messages:
    686
    J'aime reçus:
    0
    Un problème dans tes requêtes ..
    .. que répondre de plus !?
     
  6. code
    code WRInaute impliqué
    Inscrit:
    29 Juillet 2005
    Messages:
    617
    J'aime reçus:
    0
    est-il possible qu'une requete se mette à tourner en boucle et provoquer et si oui pourquoi et comment y remédier ?
     
  7. NxtGen
    NxtGen WRInaute impliqué
    Inscrit:
    24 Octobre 2006
    Messages:
    563
    J'aime reçus:
    0
    Sans voir le code, c'est difficile de te répondre...
    C'est surement un soucis dans ta requete qui est peut etre dans une boucle, ou des variables que tu prend en compte dans cette requete
    Il y a un millions de raisons envisageables, alors un petit morceau de code pourrait peut etre nous aider à t'aider.
     
  8. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 274
    J'aime reçus:
    0
    ajoute
    Code:
    error_reporting(E_ALL);
    au début de ton code, tu comprendras peut-être d'où vient le problème
     
  9. bozoleclown
    bozoleclown WRInaute impliqué
    Inscrit:
    24 Novembre 2005
    Messages:
    693
    J'aime reçus:
    0
    Ca t'arrive pas de des faire plutot

    500 - 1000 et donc du coup en Unsigned c normal que ce soit égale à 16xxxxxx

    Donc si c un probleme de soustraction trop gourmande
    passe en ton champ en "Signed"

    ainsi 500 - 1000 = -500

    maintenant tu dois avoir qd meme un p'tit bug qqpart
     
  10. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 274
    J'aime reçus:
    0
    c'est le problème de pas mal de scripts écrit avec un bô
    Code:
    error_reporting(0);
    au début. Certe, ça permet de cacher les erreurs à l'exécution, mais justement, c'est bien ça le problème.
     
  11. code
    code WRInaute impliqué
    Inscrit:
    29 Juillet 2005
    Messages:
    617
    J'aime reçus:
    0
    Normalement ce n'est pas possible : mais ton exemple vient de me faire réfléchir à une chose ! :D
    si par exemple un membre du site force le chargement d'une page et exécute 2 fois de suite le script à interval très court, ça ne serait pas la cause du probleme.

    Exemple : un membre à 1000 point sur son compte. il valide un formulaire
    qui fait l'opération 1000-1000 et exécute 2 fois le script en rechargenat la page jsute après la validation du formulaire.

    Normalement ce n'est pas possible car il y a une requete de vérification avant la requete d'enregistrement de l'opération qui effectue la soustraction. Mais admettons que pour une raison ou une autre la page mette du temps à charger. La personne revalide le formumaire ou rafraichie la page pensant que sa premiere validation n'a pas marché.

    L'erreur doit donc venir du traitement du formulaire et non de la base de données ou de mes champs ce qui me rassure déjà pas mal
     
Chargement...
Similar Threads - Sérieux problème nombres Forum Date
Sérieux problème SQL Administration d'un site Web 2 Mars 2009
Serieux probleme avec joomla 1.5.8 et VirtueMart 1.1.2 Développement d'un site Web ou d'une appli mobile 5 Janvier 2009
probleme serieux avec google et probleme avec des balises Problèmes de référencement spécifiques à vos sites 3 Août 2008
Google avoue de lui même avoir de sérieux problèmes... Google : l'entreprise, les sites web, les services 14 Mai 2006
[hébergement] Problèmes sérieux (edit : malentendu) Problèmes de référencement spécifiques à vos sites 26 Juin 2005
Probleme de referencement serieux. Problèmes de référencement spécifiques à vos sites 23 Décembre 2004
Trouver un hebergeur vert (green hosting) français sérieux Administration d'un site Web 18 Mai 2012
Recherche un hebergeur web serieux & pas cher Le café de WebRankInfo 17 Juin 2011
Prestataire tout sauf serieux Droit du web (juridique, fiscalité...) 27 Décembre 2010
Besoin d'un sérieux coup de main :( Problèmes de référencement spécifiques à vos sites 10 Novembre 2010
Puis je faire confiance en la date d'expiration et le sérieux pour référencement Débuter en référencement 22 Septembre 2010
En manque d'annuaires sérieux ! Débuter en référencement 19 Août 2010
Hébergement mutualisé sérieux Administration d'un site Web 21 Juillet 2010
Annuaires sérieux Annuaires et moteurs 17 Février 2010
Pourriez vous me conseiller un hebergeur serieux de serveur dedié aux etats unis Administration d'un site Web 5 Novembre 2009
Référenceur serieux ou pas Débuter en référencement 20 Octobre 2009
Francesurf serieux? Débuter en référencement 21 Janvier 2009
Où trouver des acheteurs sérieux pour réseau de sites ? Monétisation d'un site web 17 Janvier 2009
Référencement "sérieux" . mieux vaut éviter certains annuaires &quot Référencement Google 18 Novembre 2008
peut t'on considérer un prestataire sérieux si!!! Débuter en référencement 23 Septembre 2008