Requette qui ne fonctionne pas

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. 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. De rien :)
      0
  2. 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
    1. 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
      1. 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
        1. 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
          1. 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
            1. 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
              1. Bonjour

                Ce ne serait pas plutôt quand la description (ou un autre champ) contient une apostrophe que tu aurais des problèmes ?
                0
                1. 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