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 :

Type text et souci avec les varchar [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 91
    Points : 56
    Points
    56
    Par défaut Type text et souci avec les varchar
    Bonjour,

    j'ai dans une sgbd en SQL besoin d'un type permettant de stocker une longue chaîne.
    J'utilise donc le type text et je remplis la base à l'aide de cette requête MySql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    insert into ARTISTE (noArtiste, nom, prenom, descriptif)
     values ('', '$nom', '$prenom', '$descriptif')
    Le $descriptif est la chaîne qui sera mise dans le champ de type text.
    Problème : avec cette requête, l'enregistrement ne marche pas.
    En utilisant la même requête avec un type varchar pour le champ descriptif, celle-ci fonctionne.

    Y a-t-il qqc de spécial à faire pour enregistrer en type text ?


    J'ai aussi un léger souci quant à l'utilisation des varchar puisque (avec la même requête que précédemment) je n'arrive pas à y enregistrer des chaînes contenant un '
    Bizarre, car les " passent sans soucis... A quoi cela peut-il être du ?

  2. #2
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par Atharendil
    avec cette requête, l'enregistrement ne marche pas.
    Tu passes ta requête comme dans ma signature ? Si oui, quels sont les messages d'erreur éventuels ? Sinon, fais-le.

    Citation Envoyé par Atharendil
    J'ai aussi un léger souci quant à l'utilisation des varchar puisque (avec la même requête que précédemment) je n'arrive pas à y enregistrer des chaînes contenant un '
    Bizarre, car les " passent sans soucis... A quoi cela peut-il être du ?
    Peut-être qu'un petit coup de mysql_real_escape_string t'aiderait...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 91
    Points : 56
    Points
    56
    Par défaut
    Non j'utilise mysql_query mais pas le "or die", je vais tester pour voir et poster les messages d'erreurs

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 91
    Points : 56
    Points
    56
    Par défaut
    En ce qui concerne l'apostrophe, en type varchar, il génère ce message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into ARTISTE (noArtiste, nom, prenom, descriptif) values ('', 'nom', 'prenom', 'peinture à l'huile') -Erreur de syntaxe près de 'huile')' à la ligne 1
    Même erreur si je mets des apostrophes dans un champ de type text.

    D'ailleurs pour le text, dsl je me suis trompé puisque ca n'enregistrait pas à cause des apostrophes, sinon ca enregistre sans problème.

  5. #5
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par Atharendil
    En ce qui concerne l'apostrophe, en type varchar, il génère ce message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into ARTISTE (noArtiste, nom, prenom, descriptif) values ('', 'nom', 'prenom', 'peinture à l'huile') -Erreur de syntaxe près de 'huile')' à la ligne 1
    Même erreur si je mets des apostrophes dans un champ de type text.

    D'ailleurs pour le text, dsl je me suis trompé puisque ca n'enregistrait pas à cause des apostrophes, sinon ca enregistre sans problème.
    voir ma remarque sur mysql_real_escape_string, et lire la doc que j'ai pointée.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 91
    Points : 56
    Points
    56
    Par défaut
    Oui merci j'ai essayé avec cette fonction : du coup, la requête est acceptée et les données enregistrées, mais seul souci la chaîne est tronquée au niveau de l'apostrophe. (si je mets peinture à l'huile il n'y a que peinture à l qui sera enregistré)

    Voilà comment j'utilise la fonction d'échappement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $descriptif = mysql_escape_string($_POST['descriptif']);

  7. #7
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par Atharendil
    Oui merci j'ai essayé avec cette fonction : du coup, la requête est acceptée et les données enregistrées, mais seul souci la chaîne est tronquée au niveau de l'apostrophe. (si je mets peinture à l'huile il n'y a que peinture à l qui sera enregistré)

    Voilà comment j'utilise la fonction d'échappement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $descriptif = mysql_escape_string($_POST['descriptif']);
    affiche ta requête ?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 91
    Points : 56
    Points
    56
    Par défaut
    La requête que j'utilise pour enregistrer est la même qu'avant, sinon apparemment c'est uniquement l'affichage qui merdouille, puisque sous PhpMyAdmin la chaine entiere est affichée.

    La requête pour l'affichage est celle-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $req="select * from ARTISTE where noArtiste='$idArtiste'";
    $res=mysql_query($req);
    $artiste=mysql_fetch_array($res);
    Et ensuite j'affiche le résultat dans un formulaire comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p>Texte de pr&eacute;sentation : <input type=\"text\" size=\"40%\" name=\"descriptif\" value='$artiste[3]'></p>";

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 91
    Points : 56
    Points
    56
    Par défaut
    J'ai trouvé l'erreur et tout fonctionne à merveille maintenant
    Juste une histoire de guillemets échappés à la place des apostrophes autour de la variable à afficher !

    Merci bcp pour ton aide, j'y serais encore sans ça

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/03/2011, 19h37
  2. [Débutant] Léger soucis avec les Types
    Par Zooix dans le forum Haskell
    Réponses: 6
    Dernier message: 16/06/2009, 13h58
  3. Soucis avec les Graphiques dans les états
    Par Chococrocq dans le forum IHM
    Réponses: 27
    Dernier message: 04/01/2006, 19h03
  4. petit soucis avec les listes
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/09/2005, 10h08
  5. Réponses: 7
    Dernier message: 05/10/2004, 13h44

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