Page 1 sur 1

dataobjects

Posté : 08 janv. 2008, 14:37
par Invité
Bonjour à tous,
j'utilise pear dataobjects pour insérer des infos dans une bdd à partir d'un formulaire ordinaire.
Le formulaire:
 <form name="addText" action="admin.php?page=addfields" id="addText" method="post">
	<input type="text" id="desc_1" name="desc_1"  class="input0" />	</td>
	<input type="hidden" id="maxid" name="maxid" value="<?php echo $maxid; ?>" />	</td>
	<input type="hidden" id="idtheme" name="idtheme" value="<?php echo $themes->id; ?>" />	</td>
	<input type="hidden" id="idsection" name="idsection" value="<?php echo $sections->id; ?>" />	</td>
	<input type="hidden" id="typeChamp" name="typeChamp" value="text" />	</td>
</form>

Et le code d'insertion dans la bdd:
$fields->id        = $maxid;
$fields->sectionid = $_REQUEST['idsection']; 
$fields->type      = $_REQUEST['typeChamp'];
$fields->desc      = $_REQUEST['desc_1']; 
Mon problème: toutes les valeurs venant d'un input hidden sont enregistrées, pas les valeurs venant du input text appelé "desc_1".
J'ai également testé les valeurs venant de select, checkbox et radio: pas de pb, ça marche.
Il n'y a que les input text dont la valeur n'est pas enregistrée.
Pourtant, un var_dump($_REQUEST) me montre que toutes les valeurs sont bien envoyées à la page d'enregistrement, y compris les valeurs de champ texte.

Voyez vous d'ou ça pourrait venir?
Merci pour vos réponses.

Posté : 08 janv. 2008, 14:54
par Invité
le debug mode me renvoie:
1064 ** Erreur de syntaxe près de 'desc , nomvar , oblig , ctrl , published ) VALUES ( 1 , 'text' ,' à la ligne 1
Il y a donc bien une erreur sur le input text nommé desc, mais je ne vois pas ce que ça peut être.
J'ai pensé à des guillemets qui peuvent générer ce type d'erreur, mais j'ai le même problème quand le input text ne continent qu'1 mot, sans caractères spéciaux ou de ponctuation.

Posté : 08 janv. 2008, 15:01
par Invité
voici l'erreur complète. Si je saisis 'test' dans mon input text nommé "desc_1", dont la valeur doit aller dans le champ "desc" de ma table, je reçois l'erreur:
INSERT INTO f_fields (desc ) VALUES ('test' ) [nativecode=1064 ** Erreur de syntaxe près de 'desc ) VALUES ('test' )' à la ligne 1]

Posté : 08 janv. 2008, 15:27
par Jules Petibidon
hello,

desc est un mot réservé de mysql. du coup pour mysql, ta requete veut plus dire grand chose...

tu as le choix, soit tu change le nom du champ (meilleure solution) ou sinon tu entoure le nom de champ avec des ` (<-- que je sais pas comment ca s'appelle :oops: )

dans ton cas en fait, je suis pas sur que tu ais vraiment le choix :)

bon courage !

Posté : 08 janv. 2008, 15:32
par Berzemus
un accent grave je dirais.. (petit lien)
accent grave (avec chasse) ` ` 96 (0x60) 96 (0x60) 96 (0x60) 96 (0x60) U+0060
Il s'agit bien du caractère 96 en ascii.

Posté : 08 janv. 2008, 15:38
par Jules Petibidon
** se sent con tout à coup

** hésite entre aller se cacher et se jeter dans un puits

:gla: