Duplicate entry '0' for key 'PRIMARY' [Résolu]

Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015
- - Dernière réponse : jordane45
Messages postés
25229
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 avril 2019
- 21 nov. 2013 à 14:18
Bonjour,
j'essaye depuis un moment de trouver une solution, j'ai un quizz en Flash, et j'appelle un fichier php pour sauver les réponses dans une base de données.

Tout marche bien, sauf qu'il ne créé pas de nouvelle entrée, mais veut toujours la mettre en id 0

Comment je peux rentrer une nouvelle donnée dans ma table, sans avoir à lui dire dans quel id le mettre?

Voici mon code (j'ai enlevé les lignes pour la connexion à la base, ça fonctionne bien) :
<?php
	// récupération des variables envoyées depuis Flash
	$nom = 			$_GET['nom'];
	$prenom = 		$_GET['prenom'];
	$societe = 		$_GET['societe'];
	$telephone = 	$_GET['telephone'];
	$email = 		$_GET['email'];
	$q1 = 			$_GET['q1'];
	$q2 = 			$_GET['q2'];
	$q3 = 			$_GET['q3'];
	$q4 = 			$_GET['q4'];
	$q5 = 			$_GET['q5'];

	//test si l'email a déjà joué
	$test = $mysqli->query ("SELECT id FROM quizz WHERE email='$email'");
	$id = $test->fetch_assoc();

	//si il n'a jamais joué, en enregistre
	if(is_null($id)){
		$requete="INSERT INTO quizz (nom, prenom, email, societe, telephone, q1, q2, q3, q4, q5) VALUES ('$nom', '$prenom', '$email', '$societe', '$telephone', '$q1', '$q2', '$q3', '$q4', '$q5')";
		$resultat = $mysqli->query($requete) or die ('<br>Erreur '.$requete.' '.$mysqli->error);
	}

	$mysqli->close();
?>


Merci beaucoup!
Afficher la suite 

Votre réponse

2 réponses

Messages postés
112
Date d'inscription
lundi 6 avril 2009
Statut
Membre
Dernière intervention
17 janvier 2015
0
Merci
Manquait l'auto_increment.
Il suffit que je poste pour trouver.
Commenter la réponse de projer
Messages postés
25229
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
20 avril 2019
366
0
Merci
pense à mettre le sujet en RESOLU stp.
Commenter la réponse de jordane45

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.