Requette qui ne fonctionne pas

aisha -  
 Utilisateur anonyme -
Bonjour,

je cherche a insérer un champ avec grande valeur , voila ma requette
insert article(description,titre,image,id_user,Date_publication) value('".$wysiwyg."','".$titre."','".$image_user."',".$id_user.",now())";
La requette s'exécute mais parfois je mes dans le champ description j'insérer le code source d'une page donc le contenu est grand , la requette ne s'exécute pas , le type du champ description est "text" , j'envisage que la valeur est plus grand que la capacité supporter par le type text mais quel type je dois mettre ?? Merciii d'avance .

11 réponses

  1. Delphine
     
    Bonjour,

    je crois que varchar serai plus adapté car il peut contenir plus de text.

    Pour la requete d'insertion dans la table

    insert into article(description,titre,image,id_user,Date_publication) values ('".$wysiwyg."','".$titre."','".$image_user."',".$id_user.",now())";
    0
  2. Utilisateur anonyme
     
    Bonjour

    Ce ne serait pas plutôt quand la description (ou un autre champ) contient une apostrophe que tu aurais des problèmes ?
    0
  3. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  4. aisha
     
    Merci le père. pour m'avoir répondu en fait c'est exactement ça le problème vous avez raison, j'insère un champ qui contient les code html donc il y a forcement des apostrophe c'est pour ça j'aurais une erreur j'ai essayer avec la fonction mysql_real_escape_string() mais ça m'insérer une champ vide .Merci d'avance n'hésitez pas a me répondre si vous voyez quoi faire
    0
  5. Utilisateur anonyme
     
    Si tu utilises les fonctions mysql 'standard', c'est bien mysql_real_escape_string() qu'il faut utiliser.
    Peux-tu montrer la façon dont tu appelles la requête et comment tu utilises mysql_real_escape_string() ?
    Si tu es prête à remettre des choses en cause, tu ferais d'ailleurs bien mieux de laisser tomber complètement les fonctions mysql_ (déjà dépréciées, bientôt obsolètes) pour utiliser PDO. Mais c'est un autre débat.
    0
  6. aisha
     
    Voila ma requête :
    $req='insert marketbay_article(description,titre,image,id_user,Date_publication)
    value("'.mysql_real_escape_string ($wysiwyg).'","'.$titre.'","'.$image_user.'",'.$id_user.',now())';
    Merci :)
    0
  7. Utilisateur anonyme
     
    J'espère que tu as mis VALUES et non pas VALUE .
    Ça a l'air correct, sauf qu'il faudrait utiliser mysql_real_escape_string avec $titre et $image_user aussi.
    Et ceci n'est que la définition de la requête, où est le code qui l'exécute ?
    0
  8. Utilisateur anonyme
     
    Non, ça n'est pas bizarre.
    mysql_real_escape_string a besoin de connaître la connexion pour fonctionner convenablement. Il ne faut pas l'utiliser avant d'avoir fait la connexion.
    Si tu déplaces tes deux lignes
    include ('CnxMarketBDD.php');
    mysql_query("SET NAMES UTF8") ;

    pour les mettre AVANT $req=..., ça devrait mieux marcher.
    0
  9. aisha
     
    yaaaay ça marche merci énormément le père. :D
    je savais pas que la fonction fonctionne après la connexion , information de plus ;Merci
    0
    1. Utilisateur anonyme
       
      De rien :)
      0
  10. aisha
     
    Merci le père pour votre temps :)
    en fait oui j'ai mis value et non pas values mais le bizzard que la requéte s'execute mais il m'insére des champ vide dont les variable ou j'ai mis mysql_real_escape_string
    Voici le code :

    if(isset($_POST['area1']))
    $wysiwyg=$_POST['area1'];

    if(isset($_POST['titre']))
    $titre=$_POST['titre'];

    if(isset($_POST['image_user']))
    $image_user=$_POST['image_user'];

    if(isset($_POST['id_user']))
    $id_user=$_POST['id_user'];

    $req='insert marketbay_article(description,titre,image,id_user,Date_publication)
    values("'.mysql_real_escape_string ($wysiwyg).'","'.mysql_real_escape_string($titre).'","'.mysql_real_escape_string($image_user).'",'.$id_user.',now())';

    include ('CnxMarketBDD.php');
    mysql_query("SET NAMES UTF8") ;
    echo $req;
    $res=mysql_query($req) or die(mysql_error());

    if($res){
    ?>
    <SCRIPT LANGUAGE="JavaScript">
    alert('Article ajouté ');
    <!--document.location.href="ajouterArticle.php" ;-->
    </SCRIPT>
    <?php
    }
    mysql_close();
    ?>
    -1