Probleme Update PHP
Résolu
nikita34
-
nikita34 -
nikita34 -
Bonjour,
Je rencontre un problème avec une requete SQL contenant un Update
Le probleme c'est que cela ne se produit que sur un seul champ (le nom) et que si je mets cette partie de code en commentaire, la modification fonctionne parfaitement. Sinon rien ne s'execute.
Voici le code, le soucis de modification étant ce qui se trouve en commentaire :
<?
include('connect.php');
$fournisseur=$_POST['nomF'];
//=================================================
//récuperation des donnée fournisseurs dans la base
//=================================================
$sql="SELECT * FROM fournisseurs WHERE nomF = '$fournisseur';";
$requet=mysql_query($sql) or die('Erreur 1: '.mysql_error() );
$result=mysql_fetch_array($requet);
if($result[2] !=$_POST['choixFab'])
{
$req='update fournisseurs set Fabricant ="'.$_POST['choixFab'].'" where numF ='.$result[0].' ;';
$res=mysql_query($req) or die ('Erreur Fabricant: '.mysql_error() );
}
if($result[3] !=$_POST['choixGro'])
{
$req='update fournisseurs set Grossiste ="'.$_POST['choixGro'].'" where numF ='.$result[0].' ;';
$res=mysql_query($req) or die ('Erreur Grossiste: '.mysql_error() );
}
//if($result[4] != '$fournisseur')
//{
// $req="update fournisseurs set nomF ='$fournisseur' where numF =".$result[0]." ;";
// $res=mysql_query($req) or die ('Erreur Nom: '.mysql_error() );
//
//}
Je rencontre un problème avec une requete SQL contenant un Update
Le probleme c'est que cela ne se produit que sur un seul champ (le nom) et que si je mets cette partie de code en commentaire, la modification fonctionne parfaitement. Sinon rien ne s'execute.
Voici le code, le soucis de modification étant ce qui se trouve en commentaire :
<?
include('connect.php');
$fournisseur=$_POST['nomF'];
//=================================================
//récuperation des donnée fournisseurs dans la base
//=================================================
$sql="SELECT * FROM fournisseurs WHERE nomF = '$fournisseur';";
$requet=mysql_query($sql) or die('Erreur 1: '.mysql_error() );
$result=mysql_fetch_array($requet);
if($result[2] !=$_POST['choixFab'])
{
$req='update fournisseurs set Fabricant ="'.$_POST['choixFab'].'" where numF ='.$result[0].' ;';
$res=mysql_query($req) or die ('Erreur Fabricant: '.mysql_error() );
}
if($result[3] !=$_POST['choixGro'])
{
$req='update fournisseurs set Grossiste ="'.$_POST['choixGro'].'" where numF ='.$result[0].' ;';
$res=mysql_query($req) or die ('Erreur Grossiste: '.mysql_error() );
}
//if($result[4] != '$fournisseur')
//{
// $req="update fournisseurs set nomF ='$fournisseur' where numF =".$result[0]." ;";
// $res=mysql_query($req) or die ('Erreur Nom: '.mysql_error() );
//
//}
A voir également:
- Probleme Update PHP
- Windows update bloqué - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
- Easy php - Télécharger - Divers Web & Internet
- Wsus offline update - Télécharger - Systèmes d'exploitation
7 réponses
Salut,
As tu vérifié que le nom du champ dans la BDD est bien nomF ?
Sinon, quel est le message d'erreur ?
As tu vérifié que le nom du champ dans la BDD est bien nomF ?
Sinon, quel est le message d'erreur ?
Bonjour,
deux remarques:
ecris les "ordres" SQL en majuscules comme SELECT UPDATE etc.. c'est beaucoup plus facile à lire dans le script
tu fais un mysql_fetch_array, alors profites en pour utiliser les index = nom du champ au lieu des numéros 0 1 2 etc.. beaucoup plus facile à débugger
en plus tu as une erreur de conception:
if($result[4] != '$fournisseur')
je suppose que tu veux modifier la base si l'utilisateur a modifié le nom du fournisseur dans le formulaire, hors tu fais ton interro base avec le nom posté (donc modifié) et tu fais l'UPDATE par rapport à ce nom modifié donc introuvable puisque pas dans la base
@lain
deux remarques:
ecris les "ordres" SQL en majuscules comme SELECT UPDATE etc.. c'est beaucoup plus facile à lire dans le script
tu fais un mysql_fetch_array, alors profites en pour utiliser les index = nom du champ au lieu des numéros 0 1 2 etc.. beaucoup plus facile à débugger
$req="UPDATE fournisseurs SET nomF ='".$fournisseur."' WHERE numF =".$result['nomduchamp_1']." ;";
en plus tu as une erreur de conception:
if($result[4] != '$fournisseur')
je suppose que tu veux modifier la base si l'utilisateur a modifié le nom du fournisseur dans le formulaire, hors tu fais ton interro base avec le nom posté (donc modifié) et tu fais l'UPDATE par rapport à ce nom modifié donc introuvable puisque pas dans la base
@lain
if($result[4] != '$fournisseur') => ce qui veut tout simplement dire que si le nom a été modifié, on fait l'update mais que si il n'a pas été modifié, on ne fait rien.
Re.
Le soucis est que si j'enleve le commentaire alors cela me retourne : Erreur Fabricant, qui correspond au 1er update...
Si je laisse le commentaire, les modifications se passent très bien.
Merci.
Le soucis est que si j'enleve le commentaire alors cela me retourne : Erreur Fabricant, qui correspond au 1er update...
Si je laisse le commentaire, les modifications se passent très bien.
Merci.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tu as mis:
or die ('Erreur Fabricant: '.mysql_error() ); dans ta requette donc ça doit te sortir une erreur un peu plus complete que ce que tu nous mets( Erreur fabriquant)
alors soit tu nous mets cette info, soit tu l'exploites
or die ('Erreur Fabricant: '.mysql_error() ); dans ta requette donc ça doit te sortir une erreur un peu plus complete que ce que tu nous mets( Erreur fabriquant)
alors soit tu nous mets cette info, soit tu l'exploites