UPDATE d'une table phpMySQL saisi formulaire

[Résolu/Fermé]
Signaler
Messages postés
125
Date d'inscription
mercredi 18 avril 2012
Statut
Membre
Dernière intervention
31 mai 2016
-
Messages postés
125
Date d'inscription
mercredi 18 avril 2012
Statut
Membre
Dernière intervention
31 mai 2016
-
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

9 réponses

Messages postés
8
Date d'inscription
lundi 2 janvier 2012
Statut
Membre
Dernière intervention
7 juin 2012
104
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
125
Date d'inscription
mercredi 18 avril 2012
Statut
Membre
Dernière intervention
31 mai 2016
2
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 :(
Messages postés
2295
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
22 juillet 2019
198
et avec ce genre de code
if(!$resultat=mysql_query($requete)) {echo('<hr>Erreur dans votre requete :"'.$requete.'<hR>'.mysql_error());}
Messages postés
8
Date d'inscription
lundi 2 janvier 2012
Statut
Membre
Dernière intervention
7 juin 2012
104
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.
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.
Messages postés
125
Date d'inscription
mercredi 18 avril 2012
Statut
Membre
Dernière intervention
31 mai 2016
2
@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.
Messages postés
8
Date d'inscription
lundi 2 janvier 2012
Statut
Membre
Dernière intervention
7 juin 2012
104
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';"); 
Messages postés
125
Date d'inscription
mercredi 18 avril 2012
Statut
Membre
Dernière intervention
31 mai 2016
2
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.
Messages postés
2295
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
22 juillet 2019
198
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 ...
Messages postés
125
Date d'inscription
mercredi 18 avril 2012
Statut
Membre
Dernière intervention
31 mai 2016
2
je dois juste copier coller ton if mais je dois le placer ou?? a quoi correspond $requete
Messages postés
125
Date d'inscription
mercredi 18 avril 2012
Statut
Membre
Dernière intervention
31 mai 2016
2
Youupiiii youuuuraaaa!! merci ça marche maintenant ;-) merci d'avoir passer autant de temps dans mon souciiiii j'en suis très ravie....

Merci a vous tous!! :-)
ça marche maintenant
Qu'as-tu fait pour que ça marche maintenant ?
Messages postés
125
Date d'inscription
mercredi 18 avril 2012
Statut
Membre
Dernière intervention
31 mai 2016
2
Ben en faite j'avais retiré juste un seul espace
$bdd = new PDO('mysql:host=localhost;dbname =louerUnEtudiant', 'root', 'root'); c pas tres sérieux....
Mais après j'ai refait une relecture et j'ai corrigé les espace :)

Merci le père pour ton investissement
Messages postés
125
Date d'inscription
mercredi 18 avril 2012
Statut
Membre
Dernière intervention
31 mai 2016
2
puis-je avoir votre email car la j'ai encore un autre souci car je suis sur une autre fonctionnalité et j'aimerai être aider sur ce souci.....
j'ai ça comme message d'erreur et la je ne comprends pas trop bien...
NSERT INTO variable_url (id, note, compagne) VALUES (XX, 1, 123);array(3) { [0]=> string(5) "42S22" [1]=> int(1054) [2]=> string(35) "Unknown column 'XX' in 'field list'" }
Messages postés
125
Date d'inscription
mercredi 18 avril 2012
Statut
Membre
Dernière intervention
31 mai 2016
2
au c bon finalement j'ai trouvé j'avais pas mis de un chiffre pour id
Messages postés
125
Date d'inscription
mercredi 18 avril 2012
Statut
Membre
Dernière intervention
31 mai 2016
2
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. :-)