Page 1 sur 2

Requete Text et longtext

Posté : 28 juil. 2005, 17:06
par guilt92
Bonjour,

J'ai un probleme avec une requete UPDATE, je reçois plusieurs variables venant de textarea ou de input et une requete qui fonctionne parfaitement pour mes champs de text ne fonctionne en revanche par pour le longtext.

Code : Tout sélectionner

UPDATE events SET Titre="."'".$_POST['titre']."'"." WHERE ID=$id
fonctionne bien, mais :

Code : Tout sélectionner

UPDATE events SET Desc="."'".$_POST['desc']."'"." WHERE ID=$id
ne fonctionne pas, alors que la variable postée est bonne.

La seule différence que je vois est le type, un text pour titre et un longtext pour desc.

C'est normal ?

Merci d avance.

Posté : 28 juil. 2005, 17:11
par zeus
tu as fait un
or die(mysql_error());
Au moment de l'exécution de ta requete ?

Posté : 29 juil. 2005, 09:25
par guilt92
oui et justement c'est comme ca que je sais que cela ne marche j'ai mon message d'erreur.

Edit : ah non pardon j ai mis un message je vais le faire pour avoir le message d erreur

Posté : 29 juil. 2005, 09:31
par guilt92
Message d'erreur :

Code : Tout sélectionner

Erreur de syntaxe près de 'Desc= " WHERE ID=4' à la ligne 1
J espère que cela vous aidera parce que personnellement je vois pas pourquoi la syntaxe serait pas bonne alors qu'elle fonctionne avec un text.

Merci d'avance.

Posté : 29 juil. 2005, 09:34
par Cyrano
Fais donc afficher ta requête générée, à mon avis il doit en manquer un bout

Posté : 29 juil. 2005, 09:34
par pjl
Affiche ta requete complète et tu devrais rapidement trouver ton erreur.

Posté : 29 juil. 2005, 09:34
par zeus
1 - pourquoi est ce que tu sors tes ' de ta chaine

Code : Tout sélectionner

UPDATE events SET Desc='".$_POST['desc']."' WHERE ID=$id
2 - d'après ton message d'erreur, $_POST["desc"] est vide puisque la requete générée est

Code : Tout sélectionner

... SET Desc='' WHERE ...

Posté : 29 juil. 2005, 09:35
par Cyrano
prem's :langue:

Posté : 29 juil. 2005, 09:35
par zeus
prem's :langue:
Maieuhhh, c'est pô juste :cry:

Posté : 29 juil. 2005, 09:40
par guilt92
Voila la requete :
if(isset($_POST["id_publier"]))
	{
	$rq= "UPDATE events SET Desc = "."'".$_POST["desc"]."' WHERE ID = $id_publier";
	$result = mysql_query( $rq, $idConnect) or die( mysql_error());
	//header("Location:calendrier_event_confirm.php");
	}

Posté : 29 juil. 2005, 09:41
par zeus
1 - pourquoi est ce que tu sors tes ' de ta chaine

Code : Tout sélectionner

UPDATE events SET Desc='".$_POST['desc']."' WHERE ID=$id
2 - d'après ton message d'erreur, $_POST["desc"] est vide puisque la requete générée est

Code : Tout sélectionner

... SET Desc='' WHERE ...

Posté : 29 juil. 2005, 09:43
par guilt92
je suis d accord mais quand je fais un
echo $_POST["desc"] ;
j'ai la bonne chaine.

J'ai aussi fait le test en mettant $desc="test" et en mettant $desc dans ma requete et cela ne fonctionnait pas non plus.

Posté : 29 juil. 2005, 09:47
par zeus
Tu as essayé mon 1er conseil ?

Posté : 29 juil. 2005, 09:48
par guilt92
oui désolé cela ne marche pas non plus... :cry:

Ce qui est vraiment étonnant c'est que si je remplace Desc par Titre qui est un autre champs cela fonctionne parfaitement, même en laissant $_POST["desc"]

Posté : 29 juil. 2005, 09:51
par zeus

Code : Tout sélectionner

Desc= " WHERE ID=4
Pourtant tu es d'accord avec moi que à la vue de cette erreur, la requete est fausse parce que Desc = chaine vide

comme le disait Cyrano et pjl, met un echo $rq; avant d'exécuter ta requete