Problème pour modifier ma BDD via PHP

Résolu
DOKTEK Messages postés 32 Statut Membre -  
DOKTEK Messages postés 32 Statut Membre -
Bonjour,

Tout d'abord, je vous présente mes meilleurs veoux pour cette nouvelle année qui vient de commencer.

Je suis actuellement en train de monter un site et j'ai un petit problème pour modifier ma base de données via PHP (voir mon code ci-après qui concerne cette partie)

Le problème :

Tout se passe normalement.
J'ai le message " Fiche client modifiée" mais la ligne de ma base de données concerné par ma requête n'est pas modifié.

D'autres info : Les variables ($id, $nom etc...) fonctionnent bien. Ils contiennent bien les données modifiés.

SI quelqu'un a une idée de solution alors je suis preneur.

Très cordialement

Dan

Mon code :

//Modification fiche client
if (isset($_POST['modif']))
{
$cnx = mysql_connect( "localhost", "root", "" ) ;
$db = mysql_select_db( "test" ) ;
//Déclaration variables
$id = htmlspecialchars ($_POST['ID']);
$nom = htmlspecialchars ($_POST['nom']);
$adresse = htmlspecialchars ($_POST['adresse']);
$courriel = htmlspecialchars ($_POST['courriel']);
$phone = htmlspecialchars ($_POST['phone']);
$contact = htmlspecialchars ($_POST['contact']);
$password = htmlspecialchars ($_POST['password']);
$cat = htmlspecialchars ($_POST['CAT']);

mysql_query("SET NAMES 'utf8'");
$sql = "UPDATE base_espace_membre_bretcom
SET nom = '$nom',
adresse = '$adresse',
courriel = '$courriel',
phone = '$phone',
contact = '$contact',
password = '$password',
CAT = '$cat'
WHERE ID = '$id' " ;

//affichage des résultats, pour savoir si la modification a marchée:
if ($sql)
{
echo '<section class="section_collonne_gauche"><p class = "texte_espace_client_31"> Fiche client modifiée </p>';
echo '<a href="Traitement_base_client_Bretcom.php" class="texte_espace_client_24">RETOUR ARRIERE</a>
</section>';
exit();
}
else
{
die ( 'Erreur de requête : ' . mysql_error() );
echo '<section class="section_collonne_gauche"><p class = "texte_espace_client_31"> Modification échouée</p>';
echo '<a href="Traitement_base_client_Bretcom.php" class="texte_espace_client_24">RETOUR ARRIERE</a>
</section>';
}
mysql_close(); // Déconnexion BDD Fin traitement modificaion fiche client
exit();
}

2 réponses

  1. fr-darkrod Messages postés 416 Date d'inscription   Statut Membre Dernière intervention   23
     
    Tu veux modifier quoi ?

    C'est pas très clair ton truc :(
    0
  2. DOKTEK Messages postés 32 Statut Membre
     
    Bonjour Excuses moi

    Pour clarifier.
    C'est pour avoir une possibilité de modifier une fiche client via une page web réservé à l'administrateur du site

    L'alternatif c'est bien évidemment de le faire directement via php myadmin mais cela est plus compliqué pour un administrateur.

    D'avance merci pour ton aide

    Cdlt

    Dan
    0
    1. fr-darkrod Messages postés 416 Date d'inscription   Statut Membre Dernière intervention   23
       
      Je le sais ça ^^ mais c'est par rapport à ton code :D

      J'ai pas trop compris ce que tu veux modifier :/

      C'est pas très explicite c'est dommage.
      0
      1. DOKTEK Messages postés 32 Statut Membre > fr-darkrod Messages postés 416 Date d'inscription   Statut Membre Dernière intervention  
         
        Les variables $nom ,$adresse etc.. contiennent les nouvelles valeurs (et c'est le cas)
        Ce sont ces valeurs que je souhaite transmettre vers ma BDD
        Donc modifier une ligne et non pas une insertion d'une nouvelle ligne

        Et ça ne marche pas

        J'espère que cela clarifier ce que je souhaite faire

        Cdlt

        Dan
        0
    2. DOKTEK Messages postés 32 Statut Membre
       
      Problème résolu !

      Il fallait changer la ligne (voir code erronée ci-après) :

      $sql = "UPDATE base_espace_membre_bretcom
      SET nom = '$nom',
      adresse = '$adresse',
      courriel = '$courriel',
      phone = '$phone',
      contact = '$contact',
      password = '$password',
      CAT = '$cat'
      WHERE ID = '$id' " ;





      Code correcte :

      $sql="UPDATE base_espace_membre_bretcom SET Societe='$nom', Adresse='$adresse', Courriel='$courriel', Telephone='$phone' , Interlocuteur='$contact', Password='$password' , CAT='$cat' WHERE id='$id'";
      0