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 12/05/2006, 00h52   #1
Nouveau Membre du Club
 
Avatar de Pepito
 
Inscription : août 2004
Messages : 101
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : août 2004
Messages : 101
Points : 27
Points : 27
Par défaut [SQL] Problème PHP et requête SQL

Ami du jour, bonjour

J'ai un petit probleme avec une requete SQL avec des variables PHP.
Je tourne en rond depuis quelques temps et ma requete ne marche selon les conditions.

C'est un peu long a lire mais c'est souvent la meme chose
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
if(isset($_POST['g']))
    {$g = $_POST['g'];}
else {$g = NULL;}
 
 
if(isset($_POST['ab']))
    {$ab = $_POST['ab'];}
else {$ab = NULL;}
 
 
if(isset($_POST['r']))
    {$r = $_POST['r'];}
else {$r = NULL;}
 
 
if(isset($_POST['h']))
    {$h = $_POST['h'];}
else {$h = NULL;}
 
 
if(isset($_POST['2b']))
    {$b2 = $_POST['2b'];}
else {$b2 = NULL;}
 
 
if(isset($_POST['3b']))
    {$b3 = $_POST['3b'];}
else {$b3 = NULL;}
 
 
if(isset($_POST['hr']))
    {$hr = $_POST['hr'];}
else {$hr = NULL;}
 
 
if(isset($_POST['sh']))
    {$sh = $_POST['sh'];}
else {$sh = NULL;}
 
 
if(isset($_POST['sf']))
    {$sf = $_POST['sf'];}
else {$sf = NULL;}
 
 
if(isset($_POST['bb']))
    {$bb = $_POST['bb'];}
else {$bb = NULL;}
 
 
if(isset($_POST['hp']))
    {$hp = $_POST['hp'];}
else {$hp = NULL;}
 
 
if(isset($_POST['rbi']))
    {$rbi = $_POST['rbi'];}
else {$rbi = NULL;}
 
 
if(isset($_POST['k']))
    {$k = $_POST['k'];}
else {$k = NULL;}
 
 
if(isset($_POST['sb']))
    {$sb = $_POST['sb'];}
else {$sb = NULL;}
 
 
if(isset($_POST['cs']))
    {$cs = $_POST['cs'];}
else {$cs = NULL;}
 
 
if(isset($_POST['obe']))
    {$obe = $_POST['obe'];}
else {$obe = NULL;}
 
 
 
 
if(($ab!=NULL) && ($sh!=NULL) && ($sf!=NULL) && ($bb!=NULL) && ($hp!=NULL))
   {$tab=$ab+$sh+$sf+$bb+$hp;}
else {$tab=NULL;}
 
 
if(($h!=NULL) && ($b2!=NULL) && ($b3!=NULL) && ($hr!=NULL))   
   {$tb=$h+$b2+(2*$b3)+(3*$hr);}
else {$tb=NULL;}
 
 
if(($h!=NULL) && ($bb!=NULL) && ($hp!=NULL) && ($ab!=NULL) && ($ab+$bb+$hp!=0)){
    $obp=($h+$bb+$hp)/($ab+$bb+$hp);
    $obp=number_format($obp,3);
}
else {$obp=NULL;}
 
 
if(($h!=NULL) && ($b2!=NULL) && ($b3!=NULL) && ($hr!=NULL) && ($ab!=NULL) && ($ab!=0)){
    $slg=($h+$b2+(2*$b3)+(3*$hr))/($ab);
    $slg=number_format($slg,3);
}
else {$slg=NULL;} 
 
 
if(($h!=NULL) && ($ab!=NULL) && ($ab!=0)){
    $avg=$h/$ab;
    $avg=number_format($avg,3);
}
else {$avg=NULL;}
 
 
 
   $sql="INSERT INTO statistiques (joueur, categorie, saison, g, tab, ab, r, h, 2b, 3b, hr, sh, sf, bb, hp, rbi, k, sb, cs, tb, obe, obp, slg, avg)";
   $sql=$sql." VALUES ('$joueur','$sport','$saison',";
 
   if($g!=NULL)
       {$sql.="'$g',"; echo("A");}
   else {$sql.="NULL,"; echo("B");}
 
   if($tab!=NULL)
       {$sql.="'$tab'";}
   else {$sql.="NULL,";}
 
   if($ab!=NULL)
       {$sql.="'$ab',";}
   else {$sql.="NULL,";}    
 
   if($r!=NULL)
       {$sql.="'$r',";}
   else {$sql.="NULL,";}
 
   if($h!=NULL)
       {$sql.="'$h',";}
   else {$sql.="NULL,";}
 
   if($b2!=NULL)
       {$sql.="'$b2',";}
   else {$sql.="NULL,";}
 
   if($b3!=NULL)
       {$sql.="'$b3',";}
   else {$sql.="NULL,";}
 
   if($hr!=NULL)
       {$sql.="'$hr',";}
   else {$sql.="NULL,";}
 
   if($sh!=NULL)
       {$sql.="'$sh',";}
   else {$sql.="NULL,";}
 
   if($sf!=NULL)
       {$sql.="'$sf',";}
   else {$sql.="NULL,";}
 
   if($bb!=NULL)
       {$sql.="'$bb',";}
   else {$sql.="NULL,";}
 
   if($hp!=NULL)
       {$sql.="'$hp',";}
   else {$sql.="NULL,";}
 
   if($rbi!=NULL)
       {$sql.="'$rbi',";}
   else {$sql.="NULL,";}
 
   if($k!=NULL)
       {$sql.="'$k',";}
   else {$sql.="NULL,";}
 
   if($sb!=NULL)
       {$sql.="'$sb',";}
   else {$sql.="NULL,";}
 
   if($cs!=NULL)
       {$sql.="'$cs',";}
   else {$sql.="NULL,";}
 
   if($tb!=NULL)
       {$sql.="'$tb',";}
   else {$sql.="NULL,";}
 
   if($obe!=NULL)
       {$sql.="'$obe',";}
   else {$sql.="NULL,";}
 
   if($obp!=NULL)
       {$sql.="'$obp',";}
   else {$sql.="NULL,";}
 
   if($slg!=NULL)
       {$sql.="'$slg',";}
   else {$sql.="NULL,";}
 
   if($avg!=NULL)
       {$sql.="'$avg')";}
   else {$sql.="NULL)";}
Le passage des valeurs marche bien car quand je fais un echo des differentes variables ca marche bien.
Si les variables valent NULL, la requete marche mais si une variable a une vrai valeur, la requete ne marche et aucun enregistrement n'est effectué.

En plus, les conditions marche bien car quand je fais les echo("A") et B, ca marche niquel dans les differentes situations.

Voila, sinon j'ai essayé avec des ' ' et sans aussi pour chaque variable dans la requete, mais ca ne change rien.
Derriere les champs de la table Statistiques sont de type interger.

Je ne vois pas pourquoi ca marche pas !!
Si quelqu'un pourrait m'aider, ca serait cool.

Merki d'avance.
Pepit'
Pepito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 01h17   #2
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
Salut !

serait-il possible que tu affiches la requête avant son exécution ?
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 01h27   #3
Nouveau Membre du Club
 
Avatar de Pepito
 
Inscription : août 2004
Messages : 101
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : août 2004
Messages : 101
Points : 27
Points : 27
voila, j'ai fais un echo SQL
Code :
1
2
SQL = INSERT INTO statistiques (joueur, categorie, saison, g, tab, ab, r, h, 2b, 3b, hr, sh, sf, bb, hp, rbi, k, sb, cs, tb, obe, obp, slg, avg) VALUES ('13','3','5','4','20''4','4','4','4','4','4','4','4','4','4','4','4','4','4','28','4','1.000','7.000','1.000')
-
Pepito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 01h47   #4
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
ok, à la ligne où tu l'exécute, tu dois avoir un truc du style : essaie ça :
Code :
mysql_query($sql) or die(mysql_error());
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 01h51   #5
Nouveau Membre du Club
 
Avatar de Pepito
 
Inscription : août 2004
Messages : 101
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : août 2004
Messages : 101
Points : 27
Points : 27
Voici le message d'erreur.

Column count doesn't match value count at row 1
Pepito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 02h18   #6
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
le nombre de champs que tu spécifies n'est pas le même dans les deux cas, recompte en faisant bien attention
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 02h28   #7
Membre Expert
 
Avatar de davcha
 
Inscription : avril 2004
Messages : 1 132
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 1 132
Points : 1 190
Points : 1 190
INSERT INTO statistiques (joueur, categorie, saison, g, tab, ab, r, h, 2b, 3b, hr, sh, sf, bb, hp, rbi, k, sb, cs, tb, obe, obp, slg, avg) VALUES ('13','3','5','4','20''4','4','4','4','4','4','4','4','4','4','4','4','4','4','28','4','1.000','7.000','1.000')

ouille ouille ouille !
davcha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2006, 02h41   #8
Nouveau Membre du Club
 
Avatar de Pepito
 
Inscription : août 2004
Messages : 101
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : août 2004
Messages : 101
Points : 27
Points : 27
Pfffff
Dans la colection, les erreurs stupides sur lesquelles on passe 3 heures, je voudrais la virgule. Bonne pioche.

et meme en le mettant en rouge en gras et en soulignant, je le voyait pas !!
je recomptais les champs dans tous les sens.

Merki beaucoup a tous
Pepit'

PS : pour ceux qui ont pas trouvé le resultat de l'enigme, il manque une virgule entre les 2 valeurs !!
Pepito 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 23h26.


 
 
 
 
Partenaires

Hébergement Web