IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] Problème de guillemets


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 56
    Par défaut [Système] Problème de guillemets
    Bonjour,

    J'ai une petite question concernant les guillemets dans une requête SQL.

    J'ai vu dans la doc PHP une fonction soi-disante bonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    // Quote variable to make safe
    function quote_smart($value)
    {
       // Stripslashes
       if (get_magic_quotes_gpc()) {
           $value = stripslashes($value);
       }
       // Quote if not a number or a numeric string
       if (!is_numeric($value)) {
           $value = "'" . mysql_real_escape_string($value) . "'";
       }
       return $value;
    }
    J'utilise donc cette fonction cependant je suis tombé sur un petit pépin :
    J'utilise des chaines de caractères comprenant une longue suite de 1 et de 2 (ex: 11112121212122121221221212121212121212121111121212121221)
    (Il s'agit du déroulement d'une séquence)

    Cependant MySQL ne supporte pas des nombres aussi grand donc quand je le protege avec leur fonction elle voit une valeur numerique et ne met pas de guillements mais MySQL voyant donc un nombre le transforme dans l'entier maximum supporté.

    D'où ma question pour quoi ne pas mettre des guillemets tout le temps ?
    Y'a t il un intéret à détecter une valeur numérique et ne pas mettre de guillements ?

    Merci pour votre aide

  2. #2
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    56
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 56
    Par défaut
    Désolé j'arrive pas à mettre une fonction clair, y'a des tags qui apparaissent

    URL : http://www.php.net/manual/en/functio...ape-string.php

  3. #3
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Citation Envoyé par Bobtop
    D'où ma question pour quoi ne pas mettre des guillemets tout le temps ?
    Y'a t il un intéret à détecter une valeur numérique et ne pas mettre de guillements ?
    J'aurais tendance à dire que c'est pour faciliter d'une part la lecture (on sait tout de suite en lisant une requete si le champ est numerique ou pas) et d'autre part l'interpretation de la requete par mysql (pas de conversion de type à faire). Mais bon, il faudrait demander plutot dans le forum mysql pour avoir une réponse plus crédible.

    Mais rien ne t'empeche de modifier la fonction quote_smart

Discussions similaires

  1. [Système] Problème internet : établissement de connexions
    Par Eusebius dans le forum Autres Logiciels
    Réponses: 13
    Dernier message: 21/11/2005, 15h58
  2. [Système] Problème avec header() ...
    Par tom06440 dans le forum Langage
    Réponses: 15
    Dernier message: 27/10/2005, 21h33
  3. problème de guillemet sous postgresql (requete php)
    Par toome dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 17/08/2005, 10h44
  4. Réponses: 5
    Dernier message: 19/04/2005, 08h50
  5. problème de guillemets dans une formule shell
    Par dim_italia dans le forum VBA Access
    Réponses: 7
    Dernier message: 18/08/2003, 12h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo