UPDATE d'une table phpMySQL saisi formulaire
Résolu
Lili_754
Messages postés
125
Date d'inscription
Statut
Membre
Dernière intervention
-
Lili_754 Messages postés 125 Date d'inscription Statut Membre Dernière intervention -
Lili_754 Messages postés 125 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'me suis fait une fausse joie :-( je n'arrive pas à comprendre pourquoi ça marche pas. Quand je saisi les données de mon formulaire je les vois bien dans la page traitement_Motif_Mon.php mais ça ne modifie rien dans ma base de donnée, quelqu'un peux m'aider pleaaaaase
En faite pour vous expliquez, en gros, en fonction de l'id étudiant correspondant à l'id du projet je dois etre capable de modier son montant dans ma base de donnée..... Quand j'ai fait un test j'ai mis le même montant qui correspondait à ma base de donnée donc c'est pour ça que j'ai cru que cela avait marché :-(
<form class="formulaire" method="post" action="traitement_Modif_Mon.php" onsubmit="return check() ;"> <!-- formulaire -->
<div id="projet" class="input">
<span>L'identifiant du projet.</span>
<input name="id_projet" maxlength="30" type="text" id="id_projet" placeholder="ID du projet" required>
</div>
<div id="etudiant" class="input">
<span>L'identifiant du l'edtudiant.</span>
<input name="id_etudiant" maxlength="30" type="text" id="id_etudiant" placeholder="ID Etudiant" required>
</div>
<div id="new_montant" class="input">
<span>Vous devez entrez votre nouveau montant.</span>
<input name="new_montant" maxlength="30" type="text" id="new_montant" placeholder="Votre nouveau montant" required>
</div>
<input class="bouton"type="submit" value="Envoyer">
</form>
<la page de traitement>
<?php
/* creation des variables dont les données sont celles entrées dans le formulaire */
$id_projet = $_POST['id_projet'];
$id_etudiant = $_POST['id_etudiant'];
$new_montant = $_POST['new_montant'];
/*echo pour voir si on récupère bien les données saisies*/
echo 'id du projet est '.$id_projet.'<br/>';
echo 'id de etudiant est '.$id_etudiant.'<br/>';
echo 'le nouveau montant est '.$new_montant.'<br/>';
/* ensuite on se connecte a la BDD */
try{
$bdd = new PDO('mysql:host=localhost;dbname = louerUnEtudiant', 'root', 'root');
}
catch (exception $e)
{
dir('Erreur : ' .$se->getMessage());
}
mysql_query(" UPDATE Modif_Compte SET new_montant = $new_montant
WHERE id_projet = $id_projet AND id_etudiant = $id_etudiant ");
?>
Linda
J'me suis fait une fausse joie :-( je n'arrive pas à comprendre pourquoi ça marche pas. Quand je saisi les données de mon formulaire je les vois bien dans la page traitement_Motif_Mon.php mais ça ne modifie rien dans ma base de donnée, quelqu'un peux m'aider pleaaaaase
En faite pour vous expliquez, en gros, en fonction de l'id étudiant correspondant à l'id du projet je dois etre capable de modier son montant dans ma base de donnée..... Quand j'ai fait un test j'ai mis le même montant qui correspondait à ma base de donnée donc c'est pour ça que j'ai cru que cela avait marché :-(
<form class="formulaire" method="post" action="traitement_Modif_Mon.php" onsubmit="return check() ;"> <!-- formulaire -->
<div id="projet" class="input">
<span>L'identifiant du projet.</span>
<input name="id_projet" maxlength="30" type="text" id="id_projet" placeholder="ID du projet" required>
</div>
<div id="etudiant" class="input">
<span>L'identifiant du l'edtudiant.</span>
<input name="id_etudiant" maxlength="30" type="text" id="id_etudiant" placeholder="ID Etudiant" required>
</div>
<div id="new_montant" class="input">
<span>Vous devez entrez votre nouveau montant.</span>
<input name="new_montant" maxlength="30" type="text" id="new_montant" placeholder="Votre nouveau montant" required>
</div>
<input class="bouton"type="submit" value="Envoyer">
</form>
<la page de traitement>
<?php
/* creation des variables dont les données sont celles entrées dans le formulaire */
$id_projet = $_POST['id_projet'];
$id_etudiant = $_POST['id_etudiant'];
$new_montant = $_POST['new_montant'];
/*echo pour voir si on récupère bien les données saisies*/
echo 'id du projet est '.$id_projet.'<br/>';
echo 'id de etudiant est '.$id_etudiant.'<br/>';
echo 'le nouveau montant est '.$new_montant.'<br/>';
/* ensuite on se connecte a la BDD */
try{
$bdd = new PDO('mysql:host=localhost;dbname = louerUnEtudiant', 'root', 'root');
}
catch (exception $e)
{
dir('Erreur : ' .$se->getMessage());
}
mysql_query(" UPDATE Modif_Compte SET new_montant = $new_montant
WHERE id_projet = $id_projet AND id_etudiant = $id_etudiant ");
?>
Linda
A voir également:
- UPDATE d'une table phpMySQL saisi formulaire
- Whatsapp formulaire opposition - Guide
- Table ascii - Guide
- Table des matières word - Guide
- Formulaire de réclamation facebook - Guide
- Windows update bloqué - Guide
9 réponses
Parce que le père a raison, tu mélanges deux manières d'utiliser MySQL :)
Soit tu utilises l'interface PDO, et la requête serait du type :
Soit tu utilises l'interface classique ; voici un tutoriel tout simple : https://eusebius.developpez.com/phpmysql-base/
Soit tu utilises l'interface PDO, et la requête serait du type :
$bdd->exec("UPDATE Modif_Compte SET new_montant = '$new_montant' WHERE id_projet = '$id_projet' AND id_etudiant = '$id_etudiant';");
Soit tu utilises l'interface classique ; voici un tutoriel tout simple : https://eusebius.developpez.com/phpmysql-base/
Bonjour,
Est-ce que tu as essayé de tester ta requête dans PhpMyAdmin par exemple, pour voir si elle fonctionne ?
Il faudrait aussi voir dans les logs Apache, il devrait y avoir une erreur générée si la requête ne marche pas. Cela pourrait aider pour connaître la source du problème.
Est-ce que tu as essayé de tester ta requête dans PhpMyAdmin par exemple, pour voir si elle fonctionne ?
Il faudrait aussi voir dans les logs Apache, il devrait y avoir une erreur générée si la requête ne marche pas. Cela pourrait aider pour connaître la source du problème.
Bonjour
Tu mélanges deux manières d'utiliser mysql : l'interface classique (fonctions mysql_qq chose comme mysql_query) et l'interface PDO.
Tu as fait la connexion en PDO, et tu interroges ta base en mysql_xxx. Ce n'est pas compatible.
Tu mélanges deux manières d'utiliser mysql : l'interface classique (fonctions mysql_qq chose comme mysql_query) et l'interface PDO.
Tu as fait la connexion en PDO, et tu interroges ta base en mysql_xxx. Ce n'est pas compatible.
@cuivoniet Ben justement après test j'ai eu comme message
#1054 - Unknown column '$id_projet' in 'where clause'
Je ne vois pas pourquoi il me dit ça, pour tant j'ai bien une colonne qui s'appelle id_projet...
@le pere Oui j'ai fait ma connexion en PDO car j'ai suivi les conseils du Site du Zéro... Je m'initie, je n'ai pas beaucoup de compétence, je cherche mais je ne trouve pas le moyen de régler mon souci :-( comment je dois l'interroger?? Merci d'avance.
#1054 - Unknown column '$id_projet' in 'where clause'
Je ne vois pas pourquoi il me dit ça, pour tant j'ai bien une colonne qui s'appelle id_projet...
@le pere Oui j'ai fait ma connexion en PDO car j'ai suivi les conseils du Site du Zéro... Je m'initie, je n'ai pas beaucoup de compétence, je cherche mais je ne trouve pas le moyen de régler mon souci :-( comment je dois l'interroger?? Merci d'avance.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Essaie de mettre des apostrophes pour encadrer tes valeurs :
mysql_query("UPDATE Modif_Compte SET new_montant = '$new_montant' WHERE id_projet = '$id_projet' AND id_etudiant = '$id_etudiant';");
J'ai testé la requête seule, elle marche. Maintenant je viens de faire comme tu as dis ben ça ne modifie toujours pas la base de donnée.
mysql_query(" UPDATE Modif_Compte SET new_montant = $new_montant
WHERE id_projet = $id_projet AND id_etudiant = $id_etudiant ");
Lorsque le type de ton champs a modifier n'est pas entier il faut des quillemets (')
et le champs doit etre entre cotes du altgr7
essaie avec la modification des cotes et double cotes ...
l editeur a envoyé ballader les côtes du 7.Fais gaffe au copier coller ...
WHERE id_projet = $id_projet AND id_etudiant = $id_etudiant ");
Lorsque le type de ton champs a modifier n'est pas entier il faut des quillemets (')
et le champs doit etre entre cotes du altgr7
mysql_query(" UPDATE 'Modif_Compte' SET 'new_montant' = '".$new_montant."' WHERE 'id_projet' ='".$id_projet."' AND 'id_etudiant' ='".$id_etudiant."';");
essaie avec la modification des cotes et double cotes ...
l editeur a envoyé ballader les côtes du 7.Fais gaffe au copier coller ...
je dois juste copier coller ton if mais je dois le placer ou?? a quoi correspond $requete
ça me donne ça comme erreur...
Notice: Undefined variable: requete in /Applications/MAMP/htdocs/Sta_Mod_Mon/traitement_Modif_Mon.php on line 26
Notice: Undefined variable: requete in /Applications/MAMP/htdocs/Sta_Mod_Mon/traitement_Modif_Mon.php on line 26
Erreur dans votre requete :"
Query was empty /* mysql_query(" UPDATE 'Modif_Compte' SET 'new_montant' = '".$new_montant."' WHERE 'id_projet' ='".$id_projet."' AND 'id_etudiant' ='".$id_etudiant."';"); */
Moi mon souci c'est comment faire pour que ma requête interroge ma base de donner.. Ma requête je l'ai essaie toute seul elle marche bien....
Notice: Undefined variable: requete in /Applications/MAMP/htdocs/Sta_Mod_Mon/traitement_Modif_Mon.php on line 26
Notice: Undefined variable: requete in /Applications/MAMP/htdocs/Sta_Mod_Mon/traitement_Modif_Mon.php on line 26
Erreur dans votre requete :"
Query was empty /* mysql_query(" UPDATE 'Modif_Compte' SET 'new_montant' = '".$new_montant."' WHERE 'id_projet' ='".$id_projet."' AND 'id_etudiant' ='".$id_etudiant."';"); */
Moi mon souci c'est comment faire pour que ma requête interroge ma base de donner.. Ma requête je l'ai essaie toute seul elle marche bien....
$requete= "UPDATE 'Modif_Compte' SET 'new_montant' = '".$new_montant."'
WHERE 'id_projet' ='".$id_projet."' AND 'id_etudiant' ='".$id_etudiant."';";
if(!$resultat=mysql_query($requete)) {echo('<hr>Erreur dans votre requete :"'.$requete.'<hR>'.mysql_error());}
avec tout ca et la connection realisée...
WHERE 'id_projet' ='".$id_projet."' AND 'id_etudiant' ='".$id_etudiant."';";
if(!$resultat=mysql_query($requete)) {echo('<hr>Erreur dans votre requete :"'.$requete.'<hR>'.mysql_error());}
avec tout ca et la connection realisée...
Ben la ça me donne ça:
Erreur dans votre requete :"UPDATE 'Modif_Compte' SET 'new_montant' = '11' WHERE 'id_projet' ='1' AND 'id_etudiant' ='1';
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Modif_Compte' SET 'new_montant' = '11' WHERE 'id_projet' ='1' AND 'id_etudiant' at line 1
Erreur dans votre requete :"UPDATE 'Modif_Compte' SET 'new_montant' = '11' WHERE 'id_projet' ='1' AND 'id_etudiant' ='1';
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Modif_Compte' SET 'new_montant' = '11' WHERE 'id_projet' ='1' AND 'id_etudiant' at line 1
Je vois bien que mes variables ont ete modifié dans la page traitement_Modif_Mon.php mais dans la base le new_montant ne change jamais :(
if(!$resultat=mysql_query($requete)) {echo('<hr>Erreur dans votre requete :"'.$requete.'<hR>'.mysql_error());}