PHP/ Mysql Problème => insert into
Résolu
Urbanspirit
Messages postés
93
Date d'inscription
Statut
Membre
Dernière intervention
-
Urbanspirit Messages postés 93 Date d'inscription Statut Membre Dernière intervention -
Urbanspirit Messages postés 93 Date d'inscription Statut Membre Dernière intervention -
salut salut tous le monde ^^
Je suis actuellement en train de créer un site web en php...
j'ai créer sur se site un formulaire permettant d'ajouter des offres de stages qui s'inscrirait dans la base...tout marche sauf l'insert into..
je m'explique: j'ai tester mon formulaire...la première offre que j'envoie via le formulaire fonctionne et est inscrite dans la table "offre"
Mais lorsque je relance le formulaire et que j'entre une seconde offre et que je l'envoi elle n'est pas inscrite dans la base...il y a seulement la première offre qui est mise. Donc j'aimerai savoir si je me suis tromper dans mon code ou non...car je tourne en rond la...
Voici le code de mon formulaire
et le code php de la page de resulat
Merci de me proposer des solutions et de m'aider ;)
Je suis actuellement en train de créer un site web en php...
j'ai créer sur se site un formulaire permettant d'ajouter des offres de stages qui s'inscrirait dans la base...tout marche sauf l'insert into..
je m'explique: j'ai tester mon formulaire...la première offre que j'envoie via le formulaire fonctionne et est inscrite dans la table "offre"
Mais lorsque je relance le formulaire et que j'entre une seconde offre et que je l'envoi elle n'est pas inscrite dans la base...il y a seulement la première offre qui est mise. Donc j'aimerai savoir si je me suis tromper dans mon code ou non...car je tourne en rond la...
Voici le code de mon formulaire
<form action="Maj-offres.php" method="post"> <h5>Veuillez remplir ce formulaire afin de mettre en ligne votre offre de stage:</h5> <p> Choississez le nom de votre entreprise:<select name="ent_num"> <?php $connexion=mysql_connect("127.0.0.1","root",""); $bdd=mysql_select_db("base_tdus_mbon",$connexion); $Req="SELECT ent_num, ent_nom from entreprise where ent_num>1 order by 1 ; "; $reponse=mysql_query($Req); while($stg=mysql_fetch_array($reponse)) echo "<option value='".$stg['ent_num']."'>".$stg['ent_nom'].""; ?> </select> <br /><br /> <label for="Duree">Durée du stage:</label> : <input type="text" name="duree" id="duree" /><br /><br /> <label for="Description">Description du stage:</label> :<br /> <textarea cols='50' rows='10' name="descri" id="descri" class='tbox'> </textarea><br /><br /> <input type="submit" value="Envoyer" /> </p> </form>
et le code php de la page de resulat
<?php $connexion=mysql_connect("127.0.0.1","root",""); $bdd=mysql_select_db("base_tdus_mbon",$connexion); $ent=$_POST['ent_num']; $dur=$_POST['duree']; $dec=$_POST['descri']; $Req3='INSERT INTO 'offre' VALUES("","'.$ent.'","'.$dur.'","'.$dec.'")'; $reponse3=mysql_query($Req3); mysql_close(); ?>
Merci de me proposer des solutions et de m'aider ;)
A voir également:
- PHP/ Mysql Problème => insert into
- Touche insert - Guide
- Easy php - Télécharger - Divers Web & Internet
- Disk boot failure insert system disk and press enter - Guide
- Mysql community server - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
6 réponses
Bonjour,
à mon avis si ça a fonctionné la première fois, ton problème ne vient pas de la syntaxe de ton code (les histoires de simple/double quotes, etc).
Par contre je te soupçonne d'avoir défini le champ OFFRE_NUM comme clé primaire de ta table, mais aussi d'avoir fait la première insertion en mettant une chaîne vide comme valeur pour ce champ. Or là tu veux insérer une nouvelle offre avec ce champ encore vide (soit pareil qu'avant).
Ce que le SGBD voit c'est que tu essayes de créer un enregistrement avec une clé primaire qui existe déjà, raison pour laquelle il refuse de te l'insérer. A ce moment-là tu devrais lui dire merci, corriger ton erreur et lui promettre de ne plus recommencer.
Bon courage.
"La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information"
Albert Einstein
à mon avis si ça a fonctionné la première fois, ton problème ne vient pas de la syntaxe de ton code (les histoires de simple/double quotes, etc).
Par contre je te soupçonne d'avoir défini le champ OFFRE_NUM comme clé primaire de ta table, mais aussi d'avoir fait la première insertion en mettant une chaîne vide comme valeur pour ce champ. Or là tu veux insérer une nouvelle offre avec ce champ encore vide (soit pareil qu'avant).
Ce que le SGBD voit c'est que tu essayes de créer un enregistrement avec une clé primaire qui existe déjà, raison pour laquelle il refuse de te l'insérer. A ce moment-là tu devrais lui dire merci, corriger ton erreur et lui promettre de ne plus recommencer.
Bon courage.
"La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information"
Albert Einstein
slt mon ami!
je voix que t'a mi une erreur,au lie de:
$Req3='INSERT INTO 'offre' VALUES("","'.$ent.'","'.$dur.'","'.$dec.'")';
fait ça:
$Req3="INSERT INTO offre VALUES('','".$ent."','".$dur."','".$dec.'")";
puis essaye et répond
je voix que t'a mi une erreur,au lie de:
$Req3='INSERT INTO 'offre' VALUES("","'.$ent.'","'.$dur.'","'.$dec.'")';
fait ça:
$Req3="INSERT INTO offre VALUES('','".$ent."','".$dur."','".$dec.'")";
puis essaye et répond
Merci de la réponse ^^
Sa ne change rien en fait ..car a la base j'avais juste mit offre sans quote.. j'ai rajouté les quote justement en pensant que sa réglerai mon problème
j'ai aussi essayer le insert into de cette façon:
sans succès....
mais encore merci d'avoir porter attention a mon problème :o
Sa ne change rien en fait ..car a la base j'avais juste mit offre sans quote.. j'ai rajouté les quote justement en pensant que sa réglerai mon problème
j'ai aussi essayer le insert into de cette façon:
$Req3="INSERT INTO offre (OFFRE_NUM, ENT_NUM, Duree_OFFRE, THEME_OFFRE )VALUES ('','".$ent."','".$dur."','".$dec.'")";
sans succès....
mais encore merci d'avoir porter attention a mon problème :o
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question