Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/09/2007, 14h12   #1
Membre à l'essai
 
Inscription : novembre 2005
Messages : 127
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 127
Points : 21
Points : 21
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 :
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.
opeo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2007, 14h23   #2
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
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...
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2007, 14h28   #3
Membre à l'essai
 
Inscription : novembre 2005
Messages : 127
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 127
Points : 21
Points : 21
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.
opeo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2007, 14h45   #4
Membre à l'essai
 
Inscription : novembre 2005
Messages : 127
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 127
Points : 21
Points : 21
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).
opeo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h11.


 
 
 
 
Partenaires

Hébergement Web