Erreur de syntaxe Erreur de syntaxe ajout !

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Erreur de syntaxe Erreur de syntaxe ajout !

par Truc » 30 oct. 2005, 20:22

bon ben laisse tomber Dream ... remplace la requete par quelque chose d'un peu plus clair (ou conventionel)
$sql="INSERT INTO membre ( login, pass, temps, mail, astuces, nom, age) VALUES ( '".$_POST['login']."', '".$_POST['pass']."','".$time."','".$_POST['mail']."', '".$_POST['astuces']."', '".$_POST['nom']."', '".$_POST['age']."')";

mysql_query($sqlL, $astuce) or die(mysql_error());

par the_grinch » 30 oct. 2005, 20:03

enf ait temps c'est le nom de mon champ dans ma base de donné !
Et j'ai deja remplacé apr date ça marche pas meme erreur !

par Truc » 30 oct. 2005, 19:53

ça m'enerve ça marche pas !
Y a rien qui amrche j'ai essayer 50 scripts que j'ai trouver sur internet et rien ça marche toujours pas !
c'est clair d'ou l'interet de faire ses scripts soie-meme :wink:

je viens de voir que dream a fait une jolie fonction avec un switch ou tu retrouve une condition "date", alors pourquoi est-ce que tu te retrouve avec un type "temps" qui n'est meme pas proposé dans le switch, remplace par:
GetSQLValueString($time, "date")

par the_grinch » 30 oct. 2005, 19:38

ça m'enerve ça marche pas !
Y a rien qui amrche j'ai essayer 50 scripts que j'ai trouver sur internet et rien ça marche toujours pas !

par the_grinch » 30 oct. 2005, 19:01

avec DATETIME sa marche pas !
Je vai prendre ma douche et jessai ta requete !

par the_grinch » 30 oct. 2005, 18:59

ok dans ma abse de donner c'est DATETIME !
Je vais essayer avec DATETIME !

par Truc » 30 oct. 2005, 18:55

le probleme vient de la:
GetSQLValueString($time, "temps"), 
le champ est considèré comme un type "temps" :shock: je ne connais pas le format qui va avec une date tu peut toujours remplacer "temps" par "text" (ca a l'air de marcher).. Mais il est quand meme bien fort ce ""dreamweaver""

sinon rien ne t'empeche de faire des requetes comme tu l'a fait dans les autres post (dans l'espace membre, par exmple :wink: )

par jeff » 30 oct. 2005, 18:55

reecrit la requete
avec
$sql='INSERT INTO membre ( login, pass, temps, mail, astuces, nom, age) VALUES ( "'.$_post['login'].'", "'.$_post['pass'].'","'.$time.'","'.$_post['mail'].'", NULL, "'.$_post['nom'].'", "'.$_post['age'].'")';
si la date doit correspondre au moment de l'enregistrement je te conseil de le faire avec sql directement

par the_grinch » 30 oct. 2005, 18:53

INSERT INTO membre (id, login, pass, date, mail, astuces, nom, age) VALUES (NULL, 'ghdfh', 'fghdfg', '2005/10/30 16:52:52', 'hdf', NULL, 'ghdfgh', 'dfghdfgh')
Warning: Cannot modify header information - headers already sent by (output started at f:\program files\easyphp1-8\www\index.php:5) in f:\program files\easyphp1-8\www\inscription.php on line 54

+ LE FORMULAIRE !

par the_grinch » 30 oct. 2005, 18:52

J'ai fait un changement dans la base de donner maintenant il m'ajoute les membres mais il m'affiche quand meme l'erreur !

par the_grinch » 30 oct. 2005, 18:47

ça retourne :

INSERT INTO membre (id, login, pass, temps, mail, astuces, nom, age) VALUES (NULL, 'sdfg', 'sdfgfgj', 2005/10/30 16:47:08, 'rsgdfv', NULL, 'ghfjgh', 'fhfh')Erreur de syntaxe près de '16:47:08, 'rsgdfv', NULL, 'ghfjgh', 'fhfh')' à la ligne 1

par jeff » 30 oct. 2005, 18:44

fait
echo $insertSQL;
et donne nous ce que ca retourne

par the_grinch » 30 oct. 2005, 18:42

Comme je l'ai dit je l'ai fait avec dreamweaver MX !
avec l'assistant d'ajout d'un formulaire !
Il me le fait automatiquement !
Sinon oui je vais essayer ce que tu ma donné !

par jeff » 30 oct. 2005, 18:41

sinon je ne comprend pas pourquoi tu met un %s pour l'id alor
la reponse est c'est c'est dreamweaver qui a fait le code

par Truc » 30 oct. 2005, 18:39

je vais te donner un conseil que tu devra TOUJOURS suivre:

Découper l'exécution des requetes !!!
et d'afficher celles-ci avec un simple echo pour verifier la construction !!!
$sql="INSERT INTO membre (id, login, pass, temps, mail, astuces, nom, age) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['id'], "int"),
                       GetSQLValueString($_POST['login'], "text"),
                       GetSQLValueString($_POST['pass'], "text"),
                       GetSQLValueString($time, "temps"),
                       GetSQLValueString($_POST['mail'], "text"),
                       GetSQLValueString($_POST['astuces'], "text"),
                       GetSQLValueString($_POST['nom'], "text"),
                       GetSQLValueString($_POST['age'], "text");

$insertSQL = sprintf($sql);
echo $insertSQL;
 
sinon je ne comprend pas pourquoi tu met un %s pour l'id alors que c'est un type INT, %d serai beaucoup mieux, as tu été voir la doc pour sprintf()