UPDATE d'une table phpMySQL saisi formulaire

Résolu/Fermé
Lili_754 Messages postés 125 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 31 mai 2016 - 18 avril 2012 à 12:26
Lili_754 Messages postés 125 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 31 mai 2016 - 20 avril 2012 à 18:21
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
A voir également:

9 réponses

cuivoniet Messages postés 8 Date d'inscription lundi 2 janvier 2012 Statut Membre Dernière intervention 7 juin 2012 105
18 avril 2012 à 15:43
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 :
$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/
2
Lili_754 Messages postés 125 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 31 mai 2016 2
18 avril 2012 à 15:52
Ben la j'ai testé la maniere PDO et sa ne marche toujours pas :(
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 :(
0
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
18 avril 2012 à 15:58
et avec ce genre de code
if(!$resultat=mysql_query($requete)) {echo('<hr>Erreur dans votre requete :"'.$requete.'<hR>'.mysql_error());}
0
cuivoniet Messages postés 8 Date d'inscription lundi 2 janvier 2012 Statut Membre Dernière intervention 7 juin 2012 105
18 avril 2012 à 13:07
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.
0
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.
0
Lili_754 Messages postés 125 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 31 mai 2016 2
18 avril 2012 à 14:30
@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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cuivoniet Messages postés 8 Date d'inscription lundi 2 janvier 2012 Statut Membre Dernière intervention 7 juin 2012 105
18 avril 2012 à 15:20
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';"); 
0
Lili_754 Messages postés 125 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 31 mai 2016 2
18 avril 2012 à 15:30
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.
0
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
Modifié par Fallentree le 18/04/2012 à 15:51
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

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 ...
0
Lili_754 Messages postés 125 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 31 mai 2016 2
18 avril 2012 à 16:53
je dois juste copier coller ton if mais je dois le placer ou?? a quoi correspond $requete
0
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
20 avril 2012 à 14:29
$requete= "UPDATE 'Modif_Compte' SET 'new_montant' = '".$new_montant."'
WHERE 'id_projet' ='".$id_projet."' AND 'id_etudiant' ='".$id_etudiant."';";
0
Lili_754 Messages postés 125 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 31 mai 2016 2
20 avril 2012 à 14:45
ç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....
0
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
20 avril 2012 à 14:53
$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...
0
Lili_754 Messages postés 125 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 31 mai 2016 2
20 avril 2012 à 14:58
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
0
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
20 avril 2012 à 15:11
je t ai dit que les cotes autour du champs et des tables sont celle du 7 ...
0
Lili_754 Messages postés 125 Date d'inscription mercredi 18 avril 2012 Statut Membre Dernière intervention 31 mai 2016 2
18 avril 2012 à 22:18
En tout les cas je tiens à remercier chacun d'entre vous qui avez essayé de m'aider, c'est vraiment très sympathique de votre par vraiment, merci. :-)
0