Bonjour,

Je lis le tuto "Le tutoriel pour grands débutants pressés" à ce chapitre : PHP Étape VI. Mail malgré le fait que le champ ID de ma table abonnement est en AUTOINCREMENT ( Structure Table_abonnement ), je n'arrive pas à y insérer les données automatiquement .Ça ne marche que si j'introduis manuellement les valeurs numériques dans la requête INSERT. Ce qui n'est guère pratique même pour un grand débutant ! Le message d'erreur que je reçois est tel que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 Probleme de requête INSERT dans abonnement
Incorrect integer value: '' for column 'id' at row 1
Le problème vient donc de cette ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$insert_rqst = 'INSERT INTO abonnement VALUES("", "'.$civilite.'", '.$nom.'","'	 .$prenom.'", "'.$age.'", "'.$adresse.'", "'.$ville.'", "'.$code.'", "'.$tel.'",  "'.$abo.'")';
Voici le code intégral inspiré du tuto en question.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
 
 <?php 
include_once("fonctions.php");
if(isset($_POST['valider']))
{
	// Connection à la base de données
	do_connexion_for_root();
	// Récupération des valeurs entrées par l'utilisateur: '
	$civilite = mysql_real_escape_string(htmlspecialchars($_POST['civility']));
	$nom = mysql_real_escape_string(htmlspecialchars($_POST['name']));
	$prenom = mysql_real_escape_string(htmlspecialchars($_POST['firstname']));
	$age = mysql_real_escape_string(htmlspecialchars($_POST['age']));
	$adresse = mysql_real_escape_string(htmlspecialchars($_POST['adres']));
	$ville = mysql_real_escape_string(htmlspecialchars($_POST['city']));
	$code = mysql_real_escape_string(htmlspecialchars($_POST['postalcode']));
	$tel = mysql_real_escape_string(htmlspecialchars($_POST['phonenumber']));
	$abo = mysql_real_escape_string(htmlspecialchars($_POST['abonnements']));
	// Gestion d'un nom de femme :
	$dame = '';
	if(($civilite=='Mme')||($civilite=='Mlle')){ $dame='e'; }
	// Gestion du nom complet du magazine
	$magazine = '';
    if ($abo == 'main'){ $magazine='J\'ai la main verte.'; }
    elseif ($abo == 'pied'){ $magazine='J\'ai le pied marin.'; }
    elseif ($abo == 'oeil'){ $magazine='J\'ai l\'oeil vif.'; }
    else{ $magazine = 'J\'ai la rate qui se dilate.'; }
 
	echo 'Vous &Ecirc;TES : ' . $civilite . ' <br />' . $nom . ' '.  $prenom .
	',ag&eacute '.$dame. '&nbsp;de ' .$age . ' ans <br /><br />' 
	. '<strong>Votre adresse</strong> : ' .$adresse . '  '.$ville. ' '. $code .
	'<strong><br />Votre t&eacute;l&eacute;phone : </strong>'.$tel.'<br/>VOUS AVEZ						  		CHOISI DE VOUS ABONNER &Agrave :'.'<h3>'. $magazine .'</h3>'. '<br />
		Merci de vous &ecirc;tre abonn&eacute; '.$dame. '&agrave;  ce magazine ! <hr />';
	do_connexion_for_root();
	// Préparation de la commande sql d'insertion
	$insert_rqst = 'INSERT INTO abonnement VALUES("", "'.$civilite.'", '.$nom.'","'	 .$prenom.'", "'.$age.'", "'.$adresse.'", "'.$ville.'", "'.$code.'", "'.$tel.'",  "'.$abo.'")';             
 
	// Insertion proprement dite :
	mysql_query($insert_rqst)or die('Probleme de requête INSERT dans abonnement <br />'
									. mysql_error());
	// Selection/Affichage des données entrées : 
	$slct_rqst01 = mysql_query("SELECT * FROM abonnement ORDER BY id DESC")or die(							'Probleme de requête SELECT dans abonnement <br />'. mysql_error());
    // Selection/Affichage des données entrées : 
	while($value_slct_rqst = mysql_fetch_array($slct_rqst01))
    {
		echo $value_slct_rqst['civility']. ': ' . $value_slct_rqst['name']. 																	$value_slct_rqst['firstname'];
	}
    // fermeture de la connection
	mysql_close();
}
else
{
?>
 
<html >
<head>
    ...
</head> 
 
<body>
   <h2>...
   <form name="abonnement" action="abonnement.php" method="post">
	<label for="civility">Civilit&eacute;</label><br />
	<input type="radio" id="civility" name="civility" value="Mr" />Monsieur<br />
	<input type="radio" id="civility" name="civility" value="Mme" />Madame<br />
	<input type="radio" id="civility" name="civility" value="Mlle" />Madmoiselle
	<br /><br />
    <label for="name">Nom</label>
    <input type="text" id="name" name="name" />
    <label for="firstname">Pr&eacute;nom</label>
    <input type="text" id="firstname" name="firstname" />
    <label for="age">&Acirc;ge</label>
    <input type="text" id="age" name="age" />
    <fieldset>
		<legend></legend>
		<label for="adres">Adresse : </label>
   		<input type="text" id="adres" name="adres"  size="100" maxlength="100" />
	    <label for="postalcode">Code Postal : </label>
   		<input type="text" id="postalcode" name="postalcode"  size="6" maxlength="6" />
   		<label for="city">Ville : </label>
   		<input type="text" id="city" name="city"  size="20" maxlength="20" /><br /><br />
   		<label for="phonenumber">T&eacute;l&eacute;phone:</label>
		<input type="text" id="phonenumber" name="phonenumber" size="10" maxlength="10" />
		<br />
	</fieldset>
	<label for="abonnements">Abonnement</label><br />
	<input type="radio" id="abonnements" name="abonnements" value="main" />J&rsquo;ai la main verte.<br />
	<input type="radio" id="abonnements" name="abonnements" value="pied" />J&rsquo;ai le pied marin.<br />
	<input type="radio" id="abonnements" name="abonnements" value="oeil" />J&rsquo;ai l'oeil vif.<br />
	<input type="radio" id="abonnements" name="abonnements" value="rate" />
			J&rsquo;ai la rate qui se dilate.<br />
	<br />
	<input name="valider" type="submit" value="OK"><br />
   </form>
   <?php
   }
   ?>
</body>
 
</html>
Je suis souvent confronté à ce problème. Est-ce dû à un problème de configuration de PHPMYADMIN ou MySQL? Je n'y crois pas personnellement mais vu que j'ai aucune explication ! Merci d'avance pour votre avis et votre coup de main pour m'éclairer sur cette question.