Yazerty Posté 18 Décembre 2005 Posté 18 Décembre 2005 Bonsoir, Je me remets à coder (je n'avais pas coder depuis près de 2 ans et mon niveau était alors plutôt débutant) et j'ai un petit problème avec ce code : // Requête$sql = "INSERT into reves_reves VALUES ('',$pseudo,$email,$email_publication,$titre,$reve,'off')";$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); Evidemment c'est le message d'erreur qui s'affiche ... Erreur SQL !INSERT into reves_reves VALUES ('',gertrude,geger_AT_mail.com,y,titre,reve,'off')You have an error in your SQL syntax near '@mail.com,y,titre,reve,'off')' at line 1 Ca doit être un problème de " ' ou un truc du genre mais je ne vois pas ... Si quelqu'un pouvait m'aider ça m'arrangerait bien :- ? ps : et si vous avez des bonnes adresses avec des cours très complets et bien foutus sur le sujet je suis tout à fait preneur !
Portekoi Posté 18 Décembre 2005 Posté 18 Décembre 2005 Bonjour, Oui, tu dois avoir un ' ou " dans ta saisie. Fais un echo de ta requete pour voir et essaie en encadrant chacune de tes variables avec stripslashes Pour les sites, tu as le choix : http://www.phpdebutant.org/ http://www.siteduzero.com/ A bientot Portekoi
MarvinLeRouge Posté 18 Décembre 2005 Posté 18 Décembre 2005 Salut, Tu as tout simplement oublié d'entourer tes champs avec des ' dans ta requète.
Yazerty Posté 18 Décembre 2005 Auteur Posté 18 Décembre 2005 (modifié) Portekoi : plus haut dans le script l'opération stripslashes est déjà faite : if (isset($_POST["pseudo"])) { $_POST["pseudo"]=trim(stripslashes($_POST["pseudo"])); } Je connaissais déjà phpdebutant, mais www.lesiteduzero.com/ c'est la bonne url ? Je tombe sur un site avec uniquement des pub Adsense là. En faisant : // Requête$sql = "INSERT into reves_reves VALUES ('','$pseudo','$email','$email_publication','$titre','$reve','off')";echo $sql;$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); Cela m'affiche : INSERT into reves_reves VALUES ('','pseudot','tre_AT_mail.com','y','titre','rêve magique','off')Erreur SQL !INSERT into reves_reves VALUES ('','pseudot','tre_AT_mail.com','y','titre','rêve magique','off')Column count doesn't match value count at row 1 Edit : le 1er champ est le champ id et est en auto_increment. En le laissant vide ça devrait marcher non ? Modifié 14 Février 2006 par Dudu
Vincent Posté 18 Décembre 2005 Posté 18 Décembre 2005 enleve le carrément le autoincrément : $sql = "INSERT into reves_reves VALUES ('$pseudo','$email','$email_publication','$titre','$reve','off')";
Vincent Posté 18 Décembre 2005 Posté 18 Décembre 2005 Portekoi a écrit n'imp le bon site des zéros : http://www.siteduzero.com/
Yazerty Posté 18 Décembre 2005 Auteur Posté 18 Décembre 2005 Oki pour le site . Par contre ça donne exactement la même erreur comme ça Vincent .
Vincent Posté 18 Décembre 2005 Posté 18 Décembre 2005 ok je vois, si tu ne nommes pas les colonnes au début, il faut que tu ais exactement le meme nombre de champs dans la partie VALUE que de champs dans ta base. preferes nommer tes champs en début de requete comme : INSERT INTO clients_tbl(id,prenom,nom,ne_le,ville,enfants) VALUES('','Patrick','Martin','1965-10-08','Bordeaux','2') au moins, si tu ajoutes un champs, elle ne va pas replanter !
Yazerty Posté 18 Décembre 2005 Auteur Posté 18 Décembre 2005 (modifié) Quand je fais ça : $sql = "INSERT into reves_reves(id,email,email_publication,titre,reve,date,activite) VALUES ('', '$pseudo', '$email', '$email_publication', '$titre', '$reve', 'off')";echo $sql;$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); ça enregistre les données dans la table mais elles sont décalées : le pseudo se retrouve logiquement dans le champ email. Par contre quand je fais ça (+pseudo): $sql = "INSERT into reves_reves(id,pseudo,email,email_publication,titre,reve,date,activite) VALUES ('', '$pseudo', '$email', '$email_publication', '$titre', '$reve', 'off')";echo $sql;$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); ça ne marche pas du tout (erreur). J'y comprends rien là Modifié 18 Décembre 2005 par Yazerty
Vincent Posté 18 Décembre 2005 Posté 18 Décembre 2005 dans la 2e il te manque la date dans les données. essaye : INSERT into reves_reves(pseudo,email,email_publication,titre,reve,activite) VALUES ('$pseudo', '$email', '$email_publication', '$titre', '$reve', 'off')
Yazerty Posté 18 Décembre 2005 Auteur Posté 18 Décembre 2005 Ca maarcheeee : ! MERCI BEAUCOUP ! $sql = "INSERT into reves_reves(id,pseudo,email,email_publication,titre,reve,date,activite) VALUES ('', '$pseudo', '$email', '$email_publication', '$titre', '$reve', '$date', 'off')";
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant