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] Problème avec la fonction UPDATE


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 15
    Points : 8
    Points
    8
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 215
    Points : 256
    Points
    256
    Par défaut
    Salut JohanProg,

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

    par contre, bizard que tu n'as pas d'erreur

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Non, je fais la connexion lors de l'exécution de la requète avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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...

  4. #4
    Membre actif
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 215
    Points : 256
    Points
    256
    Par défaut
    ah oui mince... pardon (:

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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à ?


  7. #7
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    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.

  8. #8
    Membre averti Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Points : 362
    Points
    362
    Par défaut
    Essaye ça pour vérifier ta connexion:
    $mysql_link = mysql_connect("localhost","LOGIN","MDP") or die("erreur de connexion");

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    je dirai plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $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

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Voilà les modifications, mais cela ne fonctionne toujours pas...
    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
    // 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.

  11. #11
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Et comme ceci :
    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
    // 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";

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Et non... comme cela non plus cela ne fonctionne pas...

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

    Je suis désespéré...

  13. #13
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Pour ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    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

  15. #15
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Si tout le reste fonctionne alors ca doit venir de la requete. Testes ceci, comme ca on en saura plus sur la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $request = "UPDATE `$mysql_table_series` SET `R2`='$R21' WHERE `ID`=1";

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Et ben voilà l'erreur...

    Réponse de la requète :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE `series` SET `R2`='' WHERE `ID`=1
    Alors que le champs R21 est bien rempli avec la valeur 2...

    Code du FORM
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="form1" method="post" action="MAJcalendrier.php">
    Code du bouton dans le FORM
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <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é...

  17. #17
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Points : 936
    Points
    936
    Par défaut
    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

  18. #18
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    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

  19. #19
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    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...

  20. #20
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    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...

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

Discussions similaires

  1. Problème avec la fonction Update ADO
    Par aymane19 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 26/05/2008, 18h33
  2. [SQL] Problème avec la fonction include
    Par dubailth dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/07/2007, 11h34
  3. problème avec la fonction update
    Par gendalf37400 dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 16/05/2007, 11h51
  4. [SQL] problème avec ma requête UPDATE
    Par carmen256 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 07/04/2006, 11h26
  5. [Requete SQL en VBA] Problème avec la fonction FLOOR
    Par zubral dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/07/2004, 13h24

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