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
25780
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 juin 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 

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
25780
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 juin 2019
312
0
Merci
pense à mettre le sujet en RESOLU stp.
Commenter la réponse de jordane45