Page 1 sur 1

Problème UPDATE avec formulaire

Posté : 19 juin 2011, 11:36
par olivier29
Bonjour,
voilà mon problème :
je voudrais faire un « UPDATE » dans ma base de donnée à l'aide d'un formulaire j'ai donc mon formulaire
 
<form method="post" action="details_entreprise.php">
<table border = 0>
<tr>
  <td>Nouveau Nom de l'entreprise</td>
  <td><input type=text name="nouveau_NomEntreprise"></td>
</tr>
<tr>
  <td COLSPAN=2><input type="submit" name="valider" value="envoyer"> </td>
</tr>
</table>
</form>
puis ma requête
<?php
$bdd->exec('UPDATE stage SET NomEntreprise = "'.$_POST['nouveau_NomEntreprise'].'" WHERE id = "'.$_SESSION['modif_id'].'" ');
?>
En exécutant cette page php ma table ne se met pas à jour mais efface la donnée de ma table.
La variable $_SESSION['modif_id'] me sert à sélectionner l'entreprise que j'ai choisi sur la page précédente.
J'ai vérifier que la variable POST['nouveau_NomEntreprise'] été bien gardé sur ma page (details_entreprise.php) par un
<?php echo $_POST[''nouveau_NomEntreprise'] ; ?>
et cette variable s'affiche bien.

J'ai cherché un peu partout mais je ne trouve aucune solution.
Merci de m'apporter votre aide.

Re: Problème UPDATE avec formulaire

Posté : 19 juin 2011, 11:47
par Ryle
Et dans la page qui exécute la requête as-tu bien un session_start() ? as-tu vérifié la requête générée avant de l'exécuter ?
<?php
$sql = 'UPDATE stage SET NomEntreprise = "'.$_POST['nouveau_NomEntreprise'].'" WHERE id = "'.$_SESSION['modif_id'].'" ';
echo $sql; // c'est parfois utile de voir la requete sql que l'on envoi à la base de données : )
$bdd->exec($sql);
?>

Re: Problème UPDATE avec formulaire

Posté : 19 juin 2011, 15:58
par olivier29
Merci de m'avoir répondu,
Donc j'ai bien session_start() dans ma page qui exécute ma requête (biensur en première ligne avant tout autre code). J'ai modifié mon code comme suggéré
<?php
$sql = 'UPDATE stage SET $data NomEntreprise = "'.$_POST['nouveau_NomEntreprise'].'" WHERE id = "'.$_SESSION['modif_id'].'" ';
echo $sql;
$bdd->exec($sql);
?>
et lorsque je lance ma page j'ai bien un echo qui me renvois:

Code : Tout sélectionner

UPDATE stage SET $data NomEntreprise = "" WHERE id = "11"
Mais toujours le même problème pas de modification de ma table. J'espère que ce n'est pas dû à une erreur de syntaxe? (je dis ça car je commence à peine le php).
Si quelqu'un a une idée.

Re: Problème UPDATE avec formulaire

Posté : 19 juin 2011, 16:55
par Ryle
T'aurais pas un $data en trop dans ta requête sql ? :)

Re: Problème UPDATE avec formulaire [RESOLU]

Posté : 19 juin 2011, 17:15
par olivier29
Je ne croix pas 8-|
Et en plus ça m' efface ma donnée dans ma table :priere:

Bon j'ai résolu mon problème en mettant sur une page mon formulaire et sur la page de traitement de ce formulaire ma requête. Maintenant ça ne m'efface plus mes données et ça les mets à jour.
Je ne comprend pas pourquoi sur 2 pages ça fonctionne et pas sur une seule???
Si jamais quelqu'un à une réponse
Merci

Re: Problème UPDATE avec formulaire

Posté : 19 juin 2011, 18:44
par AB
et lorsque je lance ma page j'ai bien un echo qui me renvois:

Code : Tout sélectionner

UPDATE stage SET $data NomEntreprise = "" WHERE id = "11"
Cela aurait dû t'alerter. Tu vois bien que $data n'est pas interprété dans cette chaine de caractère. Et en plus le contenu = "" est vide. Le résultat attendu ne serait-il pas plutôt plutôt $query = "UPDATE stage SET NomEntreprise = 'valeur_data' WHERE id = '11'"