Problème pour modifier ma BDD via PHP

Résolu/Fermé
Messages postés
28
Date d'inscription
mercredi 19 novembre 2014
Statut
Membre
Dernière intervention
3 mai 2015
-
Messages postés
28
Date d'inscription
mercredi 19 novembre 2014
Statut
Membre
Dernière intervention
3 mai 2015
-
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

Messages postés
417
Date d'inscription
vendredi 16 août 2013
Statut
Membre
Dernière intervention
14 novembre 2020
22
Tu veux modifier quoi ?

C'est pas très clair ton truc :(
Messages postés
28
Date d'inscription
mercredi 19 novembre 2014
Statut
Membre
Dernière intervention
3 mai 2015

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
Messages postés
417
Date d'inscription
vendredi 16 août 2013
Statut
Membre
Dernière intervention
14 novembre 2020
22
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.
Messages postés
28
Date d'inscription
mercredi 19 novembre 2014
Statut
Membre
Dernière intervention
3 mai 2015
>
Messages postés
417
Date d'inscription
vendredi 16 août 2013
Statut
Membre
Dernière intervention
14 novembre 2020

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
Messages postés
28
Date d'inscription
mercredi 19 novembre 2014
Statut
Membre
Dernière intervention
3 mai 2015

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'";