pb avec variable INSERT

Invité
Invité n'ayant pas de compte PHPfrance

09 déc. 2005, 01:13

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

Eléphant du PHP | 383 Messages

09 déc. 2005, 08:25

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

Eléphant du PHP | 153 Messages

09 déc. 2005, 10:02

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)

Eléphant du PHP | 383 Messages

09 déc. 2005, 12:33

lol ! c'est plus ou moins ce que je disais. peut etre que je suis medium, en fait . ..

Invité
Invité n'ayant pas de compte PHPfrance

10 déc. 2005, 11:05

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";

?>

Invité
Invité n'ayant pas de compte PHPfrance

10 déc. 2005, 11:11

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.

Eléphant du PHP | 82 Messages

10 déc. 2005, 11:16

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.
Sébastien.

Invité
Invité n'ayant pas de compte PHPfrance

10 déc. 2005, 13:26

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 ?

ViPHP
pjl
ViPHP | 2119 Messages

10 déc. 2005, 13:56

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 ?