IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[SQL] erreur lors d'un update


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Points : 79
    Points
    79
    Par défaut [SQL] erreur lors d'un update
    Bonjour,
    c'est currieux. J'ai une erreur dont voiçi l'intitulé:

    "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where num_memb_abonne = 24' at line 1"

    voilà un bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
    <?php 
    if(!empty($_POST['lenum'])){
    $lenum_memb=$_POST['lenum'];
    }
    $Table_debit	= "debiteur";
    $Table_abon	= "abonnement";
     
    $SQL_abon	= "Select num_abonne from $Table_abon where num_memb_abonne = $lenum_memb ";
    $result_abon	= mysql_query($SQL_abon);
     
    $nbr=mysql_num_rows($result_abon);
     
    		if($nbr>=1){
     
    		//--récupération de la clef
     
    		if($leresult_abon=mysql_fetch_array($result_abon)){
     
    					$lenum_abonne=$leresult_abon['num_abonne'];
     
    				}
     
    			$SQL_UPDATE="UPDATE  $Table_abon 
    					SET 
    					type_abonne		= '$type_abonnement',
    					mode_paiement		= '$lemodepaiement',
    					prix_tot_abonne		= $tota_frais_abon
    				
    					where num_abonne	= $lenum_abonne ";
     
    					//where num_memb_abonne	= $lenum_memb ";
    					//$monresult1=@mysql_query($SQL_UPDATE) or die (mysql_error());
    					$monresult1=@mysql_query($SQL_UPDATE) or die ("c'est ici l'erreur $tota_frais_abon !");
     
     
    			$SQL_UPDATE1="UPDATE $Table_debit
    					SET
    					nom_debit		= '$lenom',
    					prenom_debit		= '$leprenom',
    					adr_debit		= '$ladresse',
    					pays_debit		= '$lepays',
    					email_debit		= '$lemail'
    				
    					where num_memb_abo	= $lenum_memb";
     
    					$monresult2=@mysql_query($SQL_UPDATE1) or die (mysql_error());
     
    			if(($lemodepaiement=="CHEQUE")||($lemodepaiement=="VIREMENT")||($lemodepaiement=="MANDAT")){
     
    				$SQL_UPDATE="UPDATE  $Table_abon SET renouvel_automat ='NON' where num_memb_abonne = $lenum_memb";
    				//$monresult1=@mysql_query($SQL_UPDATE) or die (mysql_error());
    				$monresult1=@mysql_query($SQL_UPDATE) or die ("c'est là");
    			}
     
    		}else{
    			//--Dans ce cas, ce membre n'est pas encore abonné
    			//--d'ou il faut faire une insertion
     
    			$SQL_INSERT="INSERT INTO $Table_abon
    		             		SET
    					type_abonne		= '$type_abonnement',				
    					mode_paiement		= '$lemodepaiement',
    					ref_memb		= '$laref',
    					prix_tot_abonne		= $tota_frais_abon,
    					num_memb_abonne		= $lenum_memb";
     
    					$monresult1=@mysql_query($SQL_INSERT) or die (mysql_error());
     
    			$SQL_INSERT1="INSERT INTO $Table_debit
    					SET
    					nom_debit		= '$lenom',
    					prenom_debit		= '$leprenom',
    					adr_debit		= '$ladresse',
    					pays_debit		= '$lepays',
    					email_debit		= '$lemail',
    					ref_memb_abo		= '$laref',
    					num_memb_abo		= $lenum_memb";
     
    					$monresult2=@mysql_query($SQL_INSERT1) or die (mysql_error());
    			if(($lemodepaiement=="CHEQUE")||($lemodepaiement=="VIREMENT")||($lemodepaiement=="MANDAT")){
     
    				$SQL_INSERT="INSERT INTO $Table_abon SET renouvel_automat ='NON' where num_memb_abonne = $lenum_memb";
    				$monresult1=@mysql_query($SQL_INSERT) or die (mysql_error());
    			}
     
    		}
    Remarque:
    num_abonne = clé primaire de la table abonnement (incrémentation automatique)
    num_memb_abonne=clé primaire de la table membre(incrémentation automatique)
    Lorsque cette erreur s'affiche, si je clique sur actualiser, là je n'ai plus d'erreur et je suis bien redirigé vers la bonne page comme prévu.
    Pouvez vous me mettre sur la piste ?
    Je vous remercie d'avance.

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Si il y a tout le code tes variables utilisées dans le UPDATE ne sont pas définies donc vides à priori donc ça foire...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Points : 79
    Points
    79
    Par défaut
    Merci de votre réponse,
    non les variables ne sont pas vide car j'ai essayé de les afficher mais j'ai toujours mon erreur.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Points : 79
    Points
    79
    Par défaut
    Je vous remerci de votre aide. En effet j'ai trouvé ce qui n'allait pas .Aprèe l'insert je dois faire l'update aulieu de faire un autre insert car le where de l'insert n'est pas renseigné (automatique).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur lors d'un update d'une table sql serveur en liaison ODBC avec SAS
    Par wizou44 dans le forum Administration et Installation
    Réponses: 5
    Dernier message: 25/05/2009, 09h44
  2. Erreur lors de l'update d'un dataser avec SQL SERVER
    Par skunkies dans le forum Windows Forms
    Réponses: 4
    Dernier message: 31/12/2008, 00h37
  3. Erreur lors d'un Update en SQlserver
    Par kedig dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 30/08/2005, 08h22
  4. [ASP][SQL]Erreur lors d'un select
    Par DEC dans le forum ASP
    Réponses: 12
    Dernier message: 08/06/2004, 17h54
  5. Réponses: 6
    Dernier message: 08/06/2004, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo