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