Page 1 sur 1
pb avec variable INSERT
Posté : 09 déc. 2005, 01:13
par Invité
Bonjour tout le monde,
je viens de créer une requete pour insérer des données dans ma base de données depuis un formulaire avec une variable INSERT.
Le problème est qu'elle ne fonctionne qu'une seule fois.
Une personne s'inscrit envoie les infos: ok. La deuxième personne: ça marche pas...
Qqn saurait pourquoi ?
Merci
Posté : 09 déc. 2005, 08:25
par jobherzt
tu peux detailler un peu plus ? n'ayant pas fais medium deuxieme langue, ca m'aiderait si tu pouvais poster une partie de ton code et le message d'erreur que tu a. si tu ne l'as pas deja fait, rajoute 'or die(mysql_error()) a la fin de la ligne ou tu executes ta requete pour recuperer l'erreur sql. mais a vu de nez je dirais que tu essaies d'ecrire 2 fois la meme valeur alors que tu as declare un champs en unique
Posté : 09 déc. 2005, 10:02
par pitt
moi j'ai fais médium deuxieme langue donc je dirais que tu as mis une clé primaire et que tu essaies d'insérer plusieurs fois la meme valeur (tu as ptetr oublié un auto-incrément quelquepart)
Posté : 09 déc. 2005, 12:33
par jobherzt
lol ! c'est plus ou moins ce que je disais. peut etre que je suis medium, en fait . ..
Posté : 10 déc. 2005, 11:05
par Invité
Désolé messieurs, j'imagine bien que vous n'êtes pas devin.
voilà une partie du script, en sachant que dans ma base sql, j'ai un champ qui a été attribué en cléprimaire.
Ce champ est un champ qui n'est pas présent dans le formulaire que les personnes doivent remplir.
Vous pensez donc que ça pourrait venir de cela ?
<?
// récupération des données
$nom=$_POST['NAME'];
$prenom=$_POST['FIRSTNAME'];
$email=$_POST['FROM'];
$pays=$_POST['COUNTRY'];
$age=$_POST['AGE'];
$pseudo=$_POST['NICKNAME'];
$hub=$_POST['HUB'];
$formerva=$_POST['FORMERVA'];
$heures=$_POST['HOURS'];
[...]
// insertion des données dans la base
$sql = "INSERT INTO pilotes (nom, prenom, mail, pays, age, pseudo, hub, formerva, heures)
VALUES ('$nom', '$prenom', '$email', '$pays', '$age', '$pseudo', '$hub', '$formerva', '$heures')";
$result = mysql_query($sql)
or die ("Execution de la requete impossible");
echo "Nouveau pilote ajouté à la base de données";
?>
Posté : 10 déc. 2005, 11:11
par Invité
En effet, j'ai enlevé la clé primaire qui était associée à l'autre champ et je suis maintenant dans la capacité d'ajouter les memebres plusieurs fois de suite.
Cependant, j'aimerais savoir de quelle façon je dois m'y prendre pour ajouter un numéro "client" à chaque personne qui remplit le formulaire d'inscrption...
Doi-je faire un auto increment pour le champ "id_client"?
Merci pour votre aide.
Posté : 10 déc. 2005, 11:16
par s3b54sk8
Alors tu rajoutes dans ta table (au début ca fait mieux) un champ "id_client" en clé primaire auto increment.
Et après la requete genre :
$sql = "INSERT INTO pilotes (id_client,nom, prenom, mail, pays, age, pseudo, hub, formerva, heures)
VALUES ('','$nom', '$prenom', '$email', '$pays', '$age', '$pseudo', '$hub', '$formerva', '$heures')";
Comme ca chacun des clients aura un id qui lui est propre.
Posté : 10 déc. 2005, 13:26
par Invité
j'ai déjà ce champ dans ma table.
il y avait une cllé primaire et c'est visiblement pour ça que l'inscription de plus d'une personne était impossible.
Est-ce que l'ajout de l'auto-increment permettra donc l'ajout de plusieurs personnes ?
Posté : 10 déc. 2005, 13:56
par pjl
Est-ce que l'ajout de l'auto-increment permettra donc l'ajout de plusieurs personnes ?
La réponse a été donnée, il y a plus de 24h.
Que faut-il de plus ?