Requette qui ne fonctionne pas

Fermé
aisha - 9 juin 2014 à 12:22
 Utilisateur anonyme - 12 juin 2014 à 16:08
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

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
up svp
0
Utilisateur anonyme
12 juin 2014 à 11:00
Bonjour

Ce ne serait pas plutôt quand la description (ou un autre champ) contient une apostrophe que tu aurais des problèmes ?
0
Nexii Messages postés 333 Date d'inscription jeudi 13 mars 2014 Statut Membre Dernière intervention 14 mars 2017 552
12 juin 2014 à 14:18
De la roquette : https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRLGzFcFRUUlcvxAX1zS2X0iuwbVMeynve_kzB6DB2-M4urydTa2VRr2Tyy
Une raquette : https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcR85cYi0phycS7iJHgxdeUWJLInWNL7ngXU5gAnpeVDgfPyS01e9sGr69p7

Toi c'est une requête.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
Utilisateur anonyme
12 juin 2014 à 15:19
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
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
Utilisateur anonyme
12 juin 2014 à 15:38
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
Utilisateur anonyme
12 juin 2014 à 15:50
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
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
Utilisateur anonyme
12 juin 2014 à 16:08
De rien :)
0
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