Problème insertion données formulaire
Marchons85
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Marchons85 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Marchons85 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour
Jai fais mon code formulaire insertion ("insertionDonnees.php") vers la base de données j'utilise un autre code pour integrer mon formulaire a la base de donnees ("ConnexionOjet.php") mais quand je complète le formulaire il me dis erreur au niveua de
"1366Incorrect Integer value: 'AA' for column 'id_client' at row 1" mais je ne comprends pourriez vous m'aider sil vous plait
connexionObjet.php :
insertionDonnees.php :

Jai fais mon code formulaire insertion ("insertionDonnees.php") vers la base de données j'utilise un autre code pour integrer mon formulaire a la base de donnees ("ConnexionOjet.php") mais quand je complète le formulaire il me dis erreur au niveua de
"1366Incorrect Integer value: 'AA' for column 'id_client' at row 1" mais je ne comprends pourriez vous m'aider sil vous plait
connexionObjet.php :
<?php function connexionObjet($base,$param) { include_once($param.".inc.php"); $idcom=new mysqli(HOST,USER,PASS,$base,PORT); if(!$idcom) { echo "<script type=text/javascript>"; echo "alert('Connexion impossible a la base')</script>"; exit(); } return $idcom; } ?>
insertionDonnees.php :
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>BD-PHP</title> <style type="text/css"> table {border-style:double; border-width:3px; border-color:red; background-color: yellow;} </style> </head> <body> <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="application/x-www-form-urlencoded"> <fieldset> <legend><b>Vos coordonnees</b></legend> <table> <tr><td>Nom : </td><td><input type="text" name="nom" size="40" maxlength="30"/></td></tr> <tr><td>Prenom : </td><td><input type="text" name="prenom" size="40" maxlength="30"/></td></tr> <tr><td>Age : </td><td><input type="text" name="age" size="40" maxlength="2"/></td></tr> <tr><td>Adresse : </td><td><input type="text" name="adresse" size="40" maxlength="60"/></td></tr> <tr><td>Ville : </td><td><input type="text" name="ville" size="40" maxlength="40"/></td></tr> <tr><td>E-mail : </td><td><input type="text" name="mail" size="40" maxlength="50"/></td></tr> <tr> <td><input type="reset" value="Effacer"></td> <td><input type="submit" value="Envoyer"></td> </tr> </table> </fieldset> </form>
<?php include_once("connexionObjet.php"); $idcom = connexionObjet("magasin","myparam"); if(!empty($_POST['nom']) && !empty($_POST['adresse']) && !empty($_POST['ville'])) { $id_client="\N"; $nom=$idcom->escape_string($_POST['nom']); $prenom=$idcom->escape_string($_POST['prenom']); $age=$idcom->escape_string($_POST['age']); $adresse=$idcom->escape_string($_POST['adresse']); $ville=$idcom->escape_string($_POST['ville']); $mail=$idcom->escape_string($_POST['mail']); $requete="INSERT INTO client VALUES('$id_client', '$nom', '$prenom', '$age', '$adresse', '$ville', '$mail')"; $result=$idcom->query($requete); if(!$result) { echo $idcom->errno; echo $idcom->error; echo "<script type=\"text/javascript\"> alert('Erreur : ".$idcom->error."')</script>"; } else { echo "<script type=\"text/javascript\"> alert('Vous etes enregistré. VOtre numero de client est : ".$idcom->insert_id."')</script>"; $idcom->close(); } } else { echo "<h3>Formulaire a completer !</h3>";} ?> </body> </html>
A voir également:
- Problème insertion données formulaire
- Whatsapp formulaire opposition - Guide
- Fuite données maif - Guide
- Formulaire de réclamation facebook - Guide
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
1 réponse
Bonjour,
Lorsque tu fais un INSERT, il faut, soit mettre le champ id (autoincrémenté..) à null ... soit ne pas le mettre dans la requete.
Là.. ta variable $id_client .. tu lui mets une valeurs "texte" => "\N";
A la place, il faudrait plutôt écrire
Mais dans l'idéal, ta requête devrait plutôt ressembler à :
Et dans un mode parfait .. tu devrais même utiliser les requetes préparées..
https://www.php.net/manual/fr/mysqli.prepare.php
.
Lorsque tu fais un INSERT, il faut, soit mettre le champ id (autoincrémenté..) à null ... soit ne pas le mettre dans la requete.
Là.. ta variable $id_client .. tu lui mets une valeurs "texte" => "\N";
A la place, il faudrait plutôt écrire
$id_client=null;
Mais dans l'idéal, ta requête devrait plutôt ressembler à :
$requete="INSERT INTO client ( nom, prenom, age, adresse, ville , mail) VALUES ('$nom', '$prenom', '$age', '$adresse', '$ville', '$mail')";
Et dans un mode parfait .. tu devrais même utiliser les requetes préparées..
https://www.php.net/manual/fr/mysqli.prepare.php
.
patrice86
Messages postés
1380
Date d'inscription
Statut
Membre
Dernière intervention
125
Et dans un monde encore plus parfait, utiliser un ORM :D
Marchons85
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
>
patrice86
Messages postés
1380
Date d'inscription
Statut
Membre
Dernière intervention
tu pense que ca serait mieux??
Marchons85
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
Ah ok merci jordane je vais voir ceci