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 11/10/2006, 15h11   #1
Invité de passage
 
Inscription : septembre 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 15
Points : 3
Points : 3
Par défaut [SQL] Problème avec la fonction UPDATE

Bonjour à vous toutes et tous,

Je me retrouve avec un problème PHP/Mysql pour la mise à jour d'une table.

Voici le code d'encodage des données à mettre à jour :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<tr> 
        <td><font face='Trebuchet MS'>1 - ".$Equipe1."</font></td>
        <td bgcolor='#999999'>&nbsp; </td>
        <td><input name='R21' size='1'><font face='Trebuchet MS'>".$R2_1."</font></td>
        <td><input name='R31' type='text' id='R31' size='1'><font face='Trebuchet MS'>".$R3_1."</font></td>
        <td><input name='R41' type='text' id='R41' size='1'><font face='Trebuchet MS'>".$R4_1."</font></td>
        <td><input name='R51' type='text' id='R51' size='1'><font face='Trebuchet MS'>".$R5_1."</font></td>
        <td><input name='R61' type='text' id='R61' size='1'><font face='Trebuchet MS'>".$R6_1."</font></td>
        <td><input name='R71' type='text' id='R71' size='1'><font face='Trebuchet MS'>".$R7_1."</font></td>
        <td><input name='R81' type='text' id='R81' size='1'><font face='Trebuchet MS'>".$R8_1."</font></td>
        <td><input name='R91' type='text' id='R91' size='1'><font face='Trebuchet MS'>".$R9_1."</font></td>
        <td><input name='R101' type='text' id='R101' size='1'><font face='Trebuchet MS'>".$R10_1."</font></td>
        <td><input name='R111' type='text' id='R111' size='1'><font face='Trebuchet MS'>".$R11_1."</font></td>
        <td><input name='R121' type='text' id='R121' size='1'><font face='Trebuchet MS'>".$R12_1."</font></td>
      </tr>
Voilà une partie du tableau à mettre à jour...

Et voilà la requête SQL :
Code :
1
2
3
4
5
$mysql_link = mysql_connect("localhost","LOGIN","MDP"); 
if($mysql_link) 
{ 
$requete1 = "UPDATE `series` SET R2=$R21 WHERE `Equipe`=$Equipe1"; 
$execution = mysql_db_query("BDD",$requete1)or die('Erreur SQL !'.$requete1.'<br />'.mysql_error());
Je n'ai pas de message d'erreur mais aucun enregistrement ne se met à jour.

Merci de votre aide
JohanProg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 15h18   #2
Membre confirmé
 
Développeur Web
Inscription : septembre 2006
Messages : 215
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : septembre 2006
Messages : 215
Points : 246
Points : 246
Salut JohanProg,

tu ne dois pas d'abord selectionné une base ?
avec:

par contre, bizard que tu n'as pas d'erreur
sahid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 15h36   #3
Invité de passage
 
Inscription : septembre 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 15
Points : 3
Points : 3
Non, je fais la connexion lors de l'exécution de la requète avec
Code :
mysql_db_query("BDD",$requete1)
BDD c'est le nom de ma base de donnée

Enfin c'est ce que je fais normalement lors d'un UPDATE... et je sais pas pourquoi cela ne fonctionne pas aujourd'hui...
JohanProg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 15h46   #4
Membre confirmé
 
Développeur Web
Inscription : septembre 2006
Messages : 215
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : septembre 2006
Messages : 215
Points : 246
Points : 246
ah oui mince... pardon (:
sahid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 16h23   #5
Membre émérite
 
Inscription : juillet 2005
Messages : 775
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juillet 2005
Messages : 775
Points : 858
Points : 858
Envoyer un message via AIM à ouatmad Envoyer un message via MSN à ouatmad Envoyer un message via Yahoo à ouatmad
Code :
1
2
3
if($mysql_link) 
{ 
$requete1 = "UPDATE `series` SET R2=$R21 WHERE `Equipe`=$Equipe1";
je sais pas de quel type est le champ R2 mais au cas ou il serait de type chaine (ou quelque chose de ce genre) fait plutot
Code :
1
2
3
if($mysql_link) 
{ 
$requete1 = "UPDATE `series` SET R2='$R21' WHERE `Equipe`=$Equipe1"; 
__________________
Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789
ouatmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 22h02   #6
Invité de passage
 
Inscription : septembre 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 15
Points : 3
Points : 3
En effet c'est une chaîne mais j'ai déjà essayé avec les '...

Toujours le même problème...

Je viens encore d'essayer pendant 1 heure, rien à faire, pas d'UPDATE possible...

Voilà les dernières modifications :
Code :
1
2
$requete1 = "UPDATE `series` SET R2='$R21' WHERE Equipe='$Equipe1'"; 
$execution = mysql_db_query("tthaut_BddPing",$requete1,$mysql_link)or die('Erreur SQL !'.$requete1.'<br />'.mysql_error());
Mais aucun message d'erreur...

Je suis dans un espace .htacces et .htpsswd est ce que le problème ne viendrait pas de là ?

JohanProg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2006, 23h02   #7
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
La grande question que je me pose. Es-tu sur d'entrer dans ta bdd pour faire l'update ? C'est qu'une suposition, mais si la connexion n'a pas lieu, ce qui est une probabilité, ta requete sera jamais faite. D'autant plus qu'il y a rien pour te dire si oui ou non tu es dans le if. Donc à verifier.
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2006, 10h24   #8
Membre éclairé
 
Avatar de nicoaix
 
Homme
Chef de projet MOA
Inscription : décembre 2004
Messages : 561
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet MOA
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2004
Messages : 561
Points : 325
Points : 325
Essaye ça pour vérifier ta connexion:
$mysql_link = mysql_connect("localhost","LOGIN","MDP") or die("erreur de connexion");
nicoaix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2006, 13h03   #9
Membre émérite
 
Inscription : juillet 2005
Messages : 775
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juillet 2005
Messages : 775
Points : 858
Points : 858
Envoyer un message via AIM à ouatmad Envoyer un message via MSN à ouatmad Envoyer un message via Yahoo à ouatmad
je dirai plutot
Code :
$mysql_link = mysql_connect("localhost","LOGIN","MDP") or die("erreur de connexion".mysql_error());
entre autre fais un echo de ta requete et teste la dans PhpMyAdmin pour voir ce que ça donne
__________________
Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789
ouatmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2006, 11h24   #10
Invité de passage
 
Inscription : septembre 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 15
Points : 3
Points : 3
Voilà les modifications, mais cela ne fonctionne toujours pas...
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Insertion dans la table MySQL
require('config_MYSQL.php'); 
include('config_MYSQL.php'); 
				if ($id = mysql_connect($hote_sql,$login_sql,$password_sql)) {
					if ($id_db = mysql_select_db($base_sql)) {
						$request = "UPDATE `$mysql_table_series` SET `R2`='$R21' WHERE `ID`='1'";
						if($result1 = mysql_query($request)) {
						   $execution = mysql_db_query($base_sql,$request)or die('Erreur SQL !'.$requete1.'<br />'.mysql_error());	
 
						} else {
						echo"Erreur lors de l'exécution du request.";
						}
					} else {
					die("Echec de connexion à la base MySQL.");
					}
					mysql_close($id);
				} else {
				die("Echec de connexion au serveur de BD.");
				}
include "index.html";
Dans PHPMyAdmin la requête fonctionne.
JohanProg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2006, 13h07   #11
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Et comme ceci :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Insertion dans la table MySQL
require('config_MYSQL.php'); 
include('config_MYSQL.php'); 
if (mysql_connect($hote_sql,$login_sql,$password_sql)) 
{
   if (mysql_select_db($base_sql)) 
   {
	$request = "UPDATE `$mysql_table_series` SET `R2`='$R21' WHERE `ID`='1'";
	mysql_query($request) or die('Erreur : suite au UPDATE' . mysql_error());
   }
   else 
   {
        die("Echec de connexion à la base MySQL.");
   }
   mysql_close($id);
} 
else 
{
	die("Echec de connexion au serveur de BD.");
}
include "index.html";
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2006, 14h10   #12
Invité de passage
 
Inscription : septembre 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 15
Points : 3
Points : 3
Et non... comme cela non plus cela ne fonctionne pas...

Pas de message d'erreur et pas d'Update...

Je suis désespéré...
JohanProg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2006, 14h16   #13
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Pour ca
Code :
1
2
3
// Insertion dans la table MySQL
require('config_MYSQL.php'); 
include('config_MYSQL.php');
Un seul suffit à toi de choisir lequel.

Sinon ca vient peut etre du contenu de fichier
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2006, 14h19   #14
Invité de passage
 
Inscription : septembre 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 15
Points : 3
Points : 3
J'ai déjà essayé avec 1 des deux...

Et pour le fichier, il est bon comme les requètes SELECT et INSERT fonctionne très bien. Il n'y a juste qu'avec la requète UPDATE que rien ne se passe alors que le USER utilisé dans le fichier config_MYSQL.php est un utilisateur avec tout les droits...

Mais je continue à chercher le problème
JohanProg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2006, 14h38   #15
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Si tout le reste fonctionne alors ca doit venir de la requete. Testes ceci, comme ca on en saura plus sur la requete :
Code :
echo $request = "UPDATE `$mysql_table_series` SET `R2`='$R21' WHERE `ID`=1";
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2006, 15h08   #16
Invité de passage
 
Inscription : septembre 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 15
Points : 3
Points : 3
Et ben voilà l'erreur...

Réponse de la requète :
Code :
UPDATE `series` SET `R2`='' WHERE `ID`=1
Alors que le champs R21 est bien rempli avec la valeur 2...

Code du FORM
Code :
<form name="form1" method="post" action="MAJcalendrier.php">
Code du bouton dans le FORM
Code :
<input type="submit" name="Submit" value="Envoyer les r&eacute;sultats">
Pour résumé mon bouton n'envoie pas mes variables... et là je suis encore plus paumé...
JohanProg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2006, 16h11   #17
Membre émérite
 
Inscription : juillet 2005
Messages : 775
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juillet 2005
Messages : 775
Points : 858
Points : 858
Envoyer un message via AIM à ouatmad Envoyer un message via MSN à ouatmad Envoyer un message via Yahoo à ouatmad
ou bien c'est peut etre toi qui ne les recupère pas correctement
__________________
Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789
ouatmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2006, 23h45   #18
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Pour récupérer les valeurs d'un formulaire il faut toujours (c'est mieux) faire avec ceci :
ou Bien sur ca dépend de la methode précisée dans le formulaire
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2006, 10h49   #19
Invité de passage
 
Inscription : septembre 2005
Messages : 15
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 15
Points : 3
Points : 3
Youpi... Voilà la bonne recette...

Cependant je reste sur une question... pourquoi j'ai besoin de $_POST ou de $_GET pour la requète UPDATE alors que les fonctions INSERT, DELETE n'en n'ont pas besoin ???

Merci de ton aide Kerod...
JohanProg est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2006, 12h56   #20
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Je sais pas comment fonctionne les autres requetes et surtout comment il récupère les valeurs pour faire la requete. Mais quand tu utilises un formulaire il faut utiliser ceci pour avoir le plus de chance d'obtenir un résultat. Mettre juste le nom de la variable est obsolète donc...
Kerod 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 06h16.


 
 
 
 
Partenaires

Hébergement Web