Problème de mise à jour table SQL avec formulaire PHP
Topheuw972
-
Utilisateur anonyme -
Utilisateur anonyme -
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 :)
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:
- Problème de mise à jour table SQL avec formulaire PHP
- Whatsapp formulaire opposition - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Table ascii - Guide
- Mise a jour chromecast - Accueil - Guide TV et vidéo
1 réponse
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
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')
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')