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 :
Le problème vient donc de cette ligne :
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 1Voici le code intégral inspiré du tuto en question.
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.'")';
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.
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 ÊTES : ' . $civilite . ' <br />' . $nom . ' '. $prenom . ',agé '.$dame. ' de ' .$age . ' ans <br /><br />' . '<strong>Votre adresse</strong> : ' .$adresse . ' '.$ville. ' '. $code . '<strong><br />Votre téléphone : </strong>'.$tel.'<br/>VOUS AVEZ CHOISI DE VOUS ABONNER À :'.'<h3>'. $magazine .'</h3>'. '<br /> Merci de vous être abonné '.$dame. 'à 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é</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énom</label> <input type="text" id="firstname" name="firstname" /> <label for="age">Â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élé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’ai la main verte.<br /> <input type="radio" id="abonnements" name="abonnements" value="pied" />J’ai le pied marin.<br /> <input type="radio" id="abonnements" name="abonnements" value="oeil" />J’ai l'oeil vif.<br /> <input type="radio" id="abonnements" name="abonnements" value="rate" /> J’ai la rate qui se dilate.<br /> <br /> <input name="valider" type="submit" value="OK"><br /> </form> <?php } ?> </body> </html>
Partager