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

PHP & Base de données Discussion :

Utilisation des apostrophes


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 54
    Points : 32
    Points
    32
    Par défaut Utilisation des apostrophes
    Bonjour,

    Le code suivant me sert dans un formulaire à rechercher dans une base MySQL et afficher les résultats.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php include("lib/connexion.inc.php");
       if(isset($_GET['nom'], $_GET['prenom'])) {
          $result = mysql_query("SELECT*,ROUND(DATEDIFF(CURDATE(),`datenaiss`)/365) FROM fiche AS f
                          INNER JOIN datpro AS d ON f.num_registre = d.num_registre
                          WHERE f.nom LIKE '%".mysql_real_escape_string($_GET['nom'])."%' AND f.prenom LIKE '%".mysql_real_escape_string($_GET['prenom'])."%'") or die ('Erreur sql');
                                while ( $row = mysql_fetch_assoc($result)){
                                echo "Registre/Presta :&nbsp;<input size='5' value='".$row['num_registre']."'>Entreprise :&nbsp;<input size='12' value='".$row['entreprise']."'>
                                    Entrée :&nbsp;<input size='8' value='".$row['date_entree']."'>Sortie :&nbsp;<input size='8' value='".$row['date_sortie']."'><br>
                                    Nom :&nbsp;<input size ='12' value='".$row['nom']."'>Prénom :&nbsp;<input size='12' value='".$row['prenom']."'><br>
                                    Adresse :&nbsp;<input size='25' value='".$row['rue']."'>Code postal :&nbsp;<input size='6' value='".$row['code_postal']."'>Ville :&nbsp;<input size='16' value='".$row['ville']."'><br><br>	"; }
                           }
    ?>
    Pour une recherche "normale" ça fonctionne bien mais si le nom comporte une apostrophe là y à un hic.

    Apparemment cela ne vient pas de la requête vu que le contenu de la fiche dont le nom comporte une apostrophe est affiché.

    Je débute dans le domaine donc c'est pour ça que je fais appel à vos lumières

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,
    utilise addslash si tu veux que les apostrophes soient reconnues
    mais si tu veux éliminer les apostrophes, utilise str_replace:
    http://php.developpez.com/faq/?page=chaines

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 54
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    utilise addslash si tu veux que les apostrophes soient reconnues
    Justement j'utilise addslashes() dans un autre formulaire et ça fonctionne parfaitement.

    C'est lors de l'optimisation de mon formulaire sur ce forum que l'on m'à dit de préférer mysql_real_escape_string() en lieu et place de addslashes()

    Le problème c'est que maintenant que le code php est optimisé je ne sais pas où mettre addshashes !

    Pareil pour les fonctions qui me permettaient d'afficher les dates à la française.
    mais si tu veux éliminer les apostrophes, utilise str_replace
    Pourquoi les supprimer si j'en ai besoin pour l'affichage ?

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    Tu devrais songer à utiliser un query preparé (statment) avec des paramètres à passer.
    Ce sera plus propre et optimisé.
    Most Valued Pas mvp

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 54
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par Sergejack Voir le message
    Tu devrais songer à utiliser un query preparé (statment) avec des paramètres à passer.
    Ce sera plus propre et optimisé.
    Je suis ouvert à toutes proposition du moment que cela fonctionne mais n'y connaissant pas grand chose j'aurais besoin d'être aidé.

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    Ce sont des méthodes de Mysqli (improved).

    Vois ici et .
    Most Valued Pas mvp

Discussions similaires

  1. [RegEx] Utilisation de la fonction "preg_match_all" avec des apostrophe ou des œ
    Par arnaudperfect dans le forum Langage
    Réponses: 4
    Dernier message: 16/08/2008, 23h05
  2. [MySQL] Utilisation des apostrophes
    Par sly33 dans le forum PHP & Base de données
    Réponses: 22
    Dernier message: 18/01/2007, 17h49
  3. [MySQL] Utilisation des apostrophes
    Par jc_cornic dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 17/01/2007, 20h50
  4. [MySQL] Utilisation des apostrophes
    Par philippef dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/01/2007, 01h30
  5. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01

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