Problème insertion données formulaire
Marchons85
Messages postés
3
Statut
Membre
-
Marchons85 Messages postés 3 Statut Membre -
Marchons85 Messages postés 3 Statut Membre -
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 compte désactivé - 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
1520
Statut
Membre
125
Et dans un monde encore plus parfait, utiliser un ORM :D
Marchons85
Messages postés
3
Statut
Membre
>
patrice86
Messages postés
1520
Statut
Membre
tu pense que ca serait mieux??
Marchons85
Messages postés
3
Statut
Membre
Ah ok merci jordane je vais voir ceci