Problème de mise à jour table SQL avec formulaire PHP

Fermé
Topheuw972 - 2 juin 2014 à 13:49
 Utilisateur anonyme - 2 juin 2014 à 14:14
Bonjour,

J'ai un soucis avec ma requête UPDATE en sql : il s'agit d'une requête qui permettrait via un formulaire HTML (méthode POST) de modifier une table SQL.

Lors de la transmission du formulaire et du lancement du script, celui-ci reçoit bien les données par la méthode POST (j'ai testé en affichant les données avec un echo), j'ai le message de la fin de mon script indiquant que la modification à été effectuée, mais lorsque je vais sur ma table dans PhpMyAdmin, il n'y a aucun changement.

J'ai vérifié ma syntaxe et autres erreurs possibles, j'ai consulté d'autres discussions qui avaient le même thème mais leur soucis se situaient dans leur syntaxe ce qui n'est pas mon cas (je n'ai aucun message d'erreur SQL ou d'erreur PHP).

Voici donc mon code :

<?php
//Adresse du serveur
$adr = "localhost";

//Identifiant de la BDD
$login = "root";

//Mot de passe de la BDD
$mdp = "root";

//Nom de la BDD
$bdd = "base_jonas";

//Connexion à la BDD
$cnx = mysql_connect($adr, $login, $mdp);

//sélection de la base de données
$db = mysql_select_db($bdd) ;

// On récupère les données et on attribue chaque donnée à chaque variable
$keepAp=$_POST['KeepAlive_Apache'];
$dircac=$_POST['Directive_Cache'];
$comp=$_POST['Compression'];
$keepJo=$_POST['KeepAlive_Jonas'];
$FicApCom=$_POST['Fichier_Apache_Com'];
$FicCaCom=$_POST['Fichier_Cache_Com'];
$FicCopCom=$_POST['Fichier_Cop_Com'];
$FicJoCom=$_POST['Fic_Jonas_com'];
$serveur=$_POST['serveur'];

//Création de la requête
$sql = "UPDATE application1_serveur SET 'KeepAlive_Apache'='$keepAp', 'Directive_Cache'='$dircac',
'Compression'='$comp', 'KeepAlive_Jonas'='$keepJo', 'Fichier_Apache_Com'='$FicApCom', 'Fichier_Cache_Com'='$FicCaCom',
'Fichier_Cop_Com'='$FicCopCom', 'Fic_Jonas_com'='$FicJoCom' WHERE 'Serveur'='$serveur'";

//exécution de la requête SQL:
$req = mysql_query($sql, $cnx) or die( mysql_error() ) ;

//affichage des résultats, pour savoir si la modification a marchée:
if($req)
{
echo("La modification est prise en compte !\n");
echo ("<html><br><a align=center href=admin.html> Retour </a></html");
}
else
{
echo("La modification à échouée");
echo ("<html><br><a align=center href=modif.php> Retour </a></html");
}
?>

En espérant que vous pourrez me venir en aide, j'en ai réellement besoin de ce code.

Merci beaucoup :)

A voir également:

1 réponse

Utilisateur anonyme
2 juin 2014 à 14:14
Bonjour

Il ne reste pas beaucoup de possibilités : ta condition WHERE 'Serveur'='$serveur'" n'est pas vérifiée, même si tu as l'impression qu'elle l'est.
As-tu bien des accents graves (et non pas des apostrophes) autour de
`Serveur`
? Si tu as un doute, enlève-les complétement, ils ne servent à rien si tu n'as pas d'espaces ou autres bizarreries dans ton nom de champ. Mais il faut laisser les apostrophes autour de '$serveur'.
Tu n'aurais pas des espaces parasites qui feraient que le champ saisi n'est pas égal au champ enregistré malgré les apparences ? Essaye WHERE TRIM(Serveur)=TRIM('$serveur')
0