Requete SQL [Résolu]

Signaler
Messages postés
32
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
20 juillet 2005
-
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012
-
Bonjour,
Sur le site que je suis en train de creer, j'ai fais un formulaire pour inserer des donnees dans la base.
Or ma requete ne veut pas fonctionner, et pourtant j'ai tout essayer..........
La voici :
$query = "INSERT INTO $table (casa_id, citta, prezzo, tipologia, zona, agenzia, descri_it, descri_fr, descri_ing,descri_ted, foto1, foto2, foto3)
VALUES (".$_POST['casa_id'].",".$_POST['citta'].",".$_POST['prezzo'].",".$_POST['tipologia'].",
".$_POST['zona'].",".$_POST['agenzia'].", ".$_POST['descri_it'].", ".$_POST['descri_fr'].",".$_POST['descri_ing'].",".$_POST['descri_ted'].",
".$_POST['foto1'].",".$_POST['foto2'].",".$_POST['foto3'].")";

Il me dit : You have an error in your SQL syntax mais je vois vraiment pas d'ou elle vient....

Merci de votre aide


Faby

25 réponses

Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

OUi la c parce que tes variable ne sont soient pas initialisés soient pas declaré un truc du genre.

A plus merci d accepter la reponse si ca marche

<HR>
On ne peut pas savoir tout faire, mais on peut tout apprendre avec du travail. Morpheus262

PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, contacter moi par mail
l
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

Tout tes champs sont des entiers ??? car la c'est ce que tu fait en faite tu consideres tout comme entier


<HR>
On ne peut pas savoir tout faire, mais on peut tout apprendre avec du travail. Morpheus262

PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, contacter moi par mail
l
Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
21
Je crois voir ton erreur: il faut apostropher des posts.

Transforme chaque
".$_POST."

en
'".addslashes($_POST['qqch'])."'

===========
Validez les réponses si ok...

ViewVite : HTML
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

Oui dans le cas ou c pas des variables de type entier d ou ma question. Pour des question d optiomisation il serait bon egalement d inverser l utilisation de ' et ".


<HR>
On ne peut pas savoir tout faire, mais on peut tout apprendre avec du travail. Morpheus262

PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, contacter moi par mail
l
Messages postés
32
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
20 juillet 2005

J'ai essayer ce que vous m'avez dit mais il me dit : Unknown column 'essai' in 'field list' alors que essai c'est la valeur que je veux rentrer pour le champ casa_id.


Faby
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

Euh ben la faudrais voir tout le code, mais a premier vu, il considere esai comme un nom de champs et donc ce champs il le trouve pas.

<HR>
On ne peut pas savoir tout faire, mais on peut tout apprendre avec du travail. Morpheus262

PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, contacter moi par mail
l
Messages postés
32
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
20 juillet 2005

Voila comment jai fait mon formulaire (en partie) :
Riferimento :

Città:

Prezzo :

Tipologia: <select name="tipologia">
<option selected>Terreno</option>
<option>Rustico</option>
<option>Appartamento</option>
<option>Casa indipendente</option>
<option>villa</option>
<option>Commerciali e vari</option></select>

et le code de la requete :
$query = "INSERT INTO $table (casa_id, citta, prezzo, tipologia, zona, agenzia, descri_it, descri_fr, descri_ing,descri_ted, foto1, foto2, foto3)
VALUES (".addslashes($_POST['casa_id']).",".addslashes($_POST['citta']).",".addslashes($_POST['prezzo']).",".addslashes($_POST['tipologia']).",
".addslashes($_POST['zona']).",".addslashes($_POST['agenzia']).", ".addslashes($_POST['descri_it']).", ".addslashes($_POST['descri_fr']).",".addslashes($_POST['descri_ing']).",".addslashes($_POST['descri_ted']).",
".addslashes($_POST['foto1']).",".addslashes($_POST['foto2']).",".addslashes($_POST['foto3']).")";
$result = mysql_query($query) or die ("la richiesta
$query

è fallita".mysql_error());
mysql_close();


echo "La proposte $casa_id di $citta è stato correttamente aggiunto !
";

Donc je ne vois pas pourquoi il le prendrai comme un champ....


Faby
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

mettons tout ca aux normes.

Je suppose que tes champs ne sont pas des entiers ??? type de donnée

donc ta requete doit etre

$query = 'INSERT INTO $table (casa_id, citta, prezzo, tipologia, zona, agenzia, descri_it, descri_fr, descri_ing,descri_ted, foto1, foto2, foto3)
VALUES ("'.addslashes($_POST['casa_id']).'","'.addslashes($_POST['citta']).'","'.addslashes($_POST['prezzo']).'","'.addslashes($_POST['tipologia']).'",
"'.addslashes($_POST['zona']).'","'.addslashes($_POST['agenzia']).'", "'.addslashes($_POST['descri_it']).'", "'.addslashes($_POST['descri_fr']).'","'.addslashes($_POST['descri_ing']).'","'.addslashes($_POST['descri_ted']).'",
"'.addslashes($_POST['foto1']).'","'.addslashes($_POST['foto2']).'","'.addslashes($_POST['foto3']).'")';

Sous reserve que tout tes champs soit des varchar bien sur.

<HR>
On ne peut pas savoir tout faire, mais on peut tout apprendre avec du travail. Morpheus262

PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, contacter moi par mail
l
Messages postés
32
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
20 juillet 2005

ok ca a l'air de mieux marcher comme ca .... merci


par contre la il me dit : unexpected T_CONSTANT_ENCAPSED_STRING. Ca vient de l'encapsulation des "" et des '' non? Il faut que je mette des \ devant les guillemets, c'est ca?


Faby
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

oui c aprce que celui la n est pas un varchar mais un entier peut etre.


<HR>
On ne peut pas savoir tout faire, mais on peut tout apprendre avec du travail. Morpheus262

PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, contacter moi par mail
l
Messages postés
32
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
20 juillet 2005

je pete un cable, il me met toujours la meme erreur, a l'aide j'en peux plus....
voici comment j'ai reecrit la requete :
$query = "INSERT INTO $table (casa_id, citta, prezzo, tipologia, zona, agenzia, descri_it, descri_fr, descri_ing,descri_ted, foto1, foto2, foto3)
VALUES ("'.addslashes($_POST['casa_id']).'","'.addslashes($_POST['citta']).'",'".$_POST['prezzo']."',"'.addslashes($_POST['tipologia']).'",
"'.addslashes($_POST['zona']).'","'.addslashes($_POST['agenzia']).'", "'.addslashes($_POST['descri_it']).'", "'.addslashes($_POST['descri_fr']).'","'.addslashes($_POST['descri_ing']).'","'.addslashes($_POST['descri_ted']).'",
"'.addslashes($_POST['foto1']).'","'.addslashes($_POST['foto2']).'","'.addslashes($_POST['foto3']).'")";

j'ai qu'une seule variabledecimal (prezzo) les autres etant des text varchar ou set...


Faby
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

Donne nous le schema de ta table avec le type de données
Merci


<HR>
On ne peut pas savoir tout faire, mais on peut tout apprendre avec du travail. Morpheus262

PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, contacter moi par mail
l
Messages postés
32
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
20 juillet 2005

Faby
Messages postés
32
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
20 juillet 2005

apparement mon copier coller na pas marche alors je recommence:


<LABEL for=checkbox_row_1>casa_id</LABEL>,
varchar(11),
,
No,
,
,
,
,
,
,
,
,
----

,
<LABEL for=checkbox_row_2>citta</LABEL>,
varchar(100),
,
Si,
NULL,
,
,
,
,
,
,
,
----

,
<LABEL for=checkbox_row_3>prezzo</LABEL>,
decimal(10,0),
,
Si,
NULL,
,
,
,
,
,
,
,
----

,
<LABEL for=checkbox_row_4>tipologia</LABEL>,
set('Terreno', 'Rustico', 'Appartamento', 'Casa indipendente', 'villa', 'Commerciali e vari'),
,
No,
,
,
,
,
,
,
,
,
----

,
<LABEL for=checkbox_row_5>zona</LABEL>,
set('Fascia costiera', 'Entroterra'),
,
No,
,
,
,
,
,
,
,
,
----

,
<LABEL for=checkbox_row_6>agenzia</LABEL>,
set('Perinaldo', 'Ventimiglia'),
,
No,
,
,
,
,
,
,
,
,
----

,
<LABEL for=checkbox_row_7>descri_it</LABEL>,
text,
,
Si,
NULL,
,
,
,
,
,
,
,
----

,
<LABEL for=checkbox_row_8>descri_fr</LABEL>,
text,
,
Si,
NULL,
,
,
,
,
,
,
,
----

,
<LABEL for=checkbox_row_9>descri_ing</LABEL>,
text,
,
Si,
NULL,
,
,
,
,
,
,
,
----

,
<LABEL for=checkbox_row_10>descri_ted</LABEL>,
text,
,
Si,
NULL,
,
,
,
,
,
,
,
----

,
<LABEL for=checkbox_row_11>foto1</LABEL>,
varchar(255),
,
Si,
NULL,
,
,
,
,
,
,
,
----

,
<LABEL for=checkbox_row_12>foto2</LABEL>,
varchar(255),
,
Si,
NULL,
,
,
,
,
,
,
,
----

,
<LABEL for=checkbox_row_13>foto3</LABEL>,
varchar(255)


Faby
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

essayie comme ca

$query = "INSERT INTO $table (casa_id, citta, prezzo, tipologia, zona, agenzia, descri_it, descri_fr, descri_ing,descri_ted, foto1, foto2, foto3)
VALUES ("'.addslashes($_POST['casa_id']).'","'.addslashes($_POST['citta']).'",'.$_POST['prezzo'].',"'.addslashes($_POST['tipologia']).'",
"'.addslashes($_POST['zona']).'","'.addslashes($_POST['agenzia']).'", "'.addslashes($_POST['descri_it']).'", "'.addslashes($_POST['descri_fr']).'","'.addslashes($_POST['descri_ing']).'","'.addslashes($_POST['descri_ted']).'",
"'.addslashes($_POST['foto1']).'","'.addslashes($_POST['foto2']).'","'.addslashes($_POST['foto3']).'")";

en faite prezzo est un decimal peut etre pas besoin de " " comme du text a tester


<HR>
On ne peut pas savoir tout faire, mais on peut tout apprendre avec du travail. Morpheus262

PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, contacter moi par mail
l
Messages postés
32
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
20 juillet 2005

ca ne marche toujours pas....


Faby
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

et bien je sasi pas tu utilises des type de donnée folklorique lol, pourquoi utiliser un decimal 10,0 ca revien a un entier de 10 non si tu met du type int ca ira mieux et apres faut voir avec tes set, et ce que tu sasiie si c pas rigoureusement le meme plantage de la requete, et met les message d erreur integrale svp pour diagnostic.


<HR>
On ne peut pas savoir tout faire, mais on peut tout apprendre avec du travail. Morpheus262

PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, contacter moi par mail
l
Messages postés
32
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
20 juillet 2005

J'ai mis mon champ prezzo en int, j'ai toujours le meme message qui est :
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in c:\dati per stage\sito\aggiunta.php on line 17
et la ligne 17 est la suivante :
VALUES ("'.addslashes($_POST['casa_id']).'","'.addslashes($_POST['citta']).'",'.$_POST['prezzo'].',"'.addslashes($_POST['tipologia']).'",


Faby
Messages postés
461
Date d'inscription
mardi 27 avril 2004
Statut
Membre
Dernière intervention
16 février 2012

Et bien ca doit etre tes champs set qui pose probleme alors je sais pas de quel type c pour du php.


<HR>
On ne peut pas savoir tout faire, mais on peut tout apprendre avec du travail. Morpheus262

PS: Besoin d aide pour developper, besoin d un collaborateur pour faire votre site, contacter moi par mail
l
Messages postés
32
Date d'inscription
lundi 23 mai 2005
Statut
Membre
Dernière intervention
20 juillet 2005

Faby