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 :

Une requête update qui ne renvoie pas d'erreur mais qui n'update pas [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 557
    Par défaut Une requête update qui ne renvoie pas d'erreur mais qui n'update pas
    Bonjour,

    j'essaye de faire un classement de foot.

    Lorsqu'on entre le score d'un match, par exemple Marseille 1 1 Caen. j'aimerais que dans la base, le résultat s'inscrive pour que le classement s'actualise.

    Mais je n'arrive pas à modifier mes champs lorsque je rentre dans ma condition "else", alors que pour le if, ça marche très bien.

    exemple pour une équipe

    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
    		if(isset($_POST['score_Marseille'])){
    		
    		echo 'n° journée '.$_POST['journee'];
    		
    			$sql="SELECT COUNT (*) FROM $stats.calendrier WHERE equipe1='Marseille' AND journee='".$_POST['journee']."' ;";
    			
    			if(mysql_query($sql)==1){echo "dom";
    				$sql1="UPDATE $stats.calendrier set score1='".$_POST['score_Marseille']."' where journee='".$_POST['journee']."' AND equipe1='Marseille' ;";
    				mysql_query($sql1) or die (mysql_error());}
    			else{
    				$sql2="UPDATE $stats.calendrier set score2='".$_POST['score_Marseille']."' where journee='".$_POST['journee']."' AND equipe2='Marseille' ;";
    				mysql_query($sql2) or die (mysql_error());
    				echo "ext";
    			}
    		}
    Le echo de ext s'affiche très bien.

    à noter qu'avant le "count" dans mysql, j'ai tenté des fonctions php, mysql_num_rows, mysql_result, etc... mais en vain.

    Le or die (mysql_error()) que j'ai souligné ne m'affiche rien ! Mais aucun update alors que c'est le même code que dans le if. J'ai modifié les 2 champs qu'il fallait c'est tout.

    J'espère que vous pourrez m'aider et que c'est une faute évidente que je n'ai pas trouvé.

    merci.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Par défaut
    c'est quoi ce truc en rouge?
    $sql2="UPDATE $stats.calendrier set score2='".$_POST['score_Marseille']."' where journee='".$_POST['journee']."' AND equipe2='Marseille' ;";

  3. #3
    Membre éclairé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 557
    Par défaut
    C'est un point virgule, des fois je les mets, d'autre fois non. Sur phpmyadmin il les mets toujours comme délimiteur, donc je doute que ce soit ça qui pose problème.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Par défaut
    tu fais un update ; mais t'es sur qu'il existe un enregistrement à modifier?

  5. #5
    Membre éclairé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 557
    Par défaut
    Oui, mais je comprends encore moins, lorsque je vais sur la partie SQL de phpmyadmin et que je tape ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT journee FROM stats.calendrier WHERE equipe2 = 'Lyon' ;
    Aucun enregistrement, alors qu'il devrait me sortir tous les enregistrements de lyon qui joue à l'extérieur.

    Si je fais la même requête mais sur les journées, par exemple tous les enregistrements correspondant à la journée 2, ça marche...

    dans ma table calendrier j'ai ces champs :

    journee equipe1 score1 score2 equipe2
    journee, score1 et score2 sont des int(11)
    equipe1 et equipe2 sont des varchar(255)

    aucune faute sur les équipes, elles sont bien orthographiées. franchement je comprends plus rien. La requête la plus simple du monde.

    Est ce dû à un beug qui ferait que comme à la moitié des journées, lyon joue à domicile, il n'existe qu'une fois sur 2 la valeur "Lyon" dans le champ equipe2, donc peut être que quand il fait le where, il s'attend au moins à une valeur.

    bref, je pige plus.

  6. #6
    Membre éclairé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2008
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2008
    Messages : 557
    Par défaut
    Et pour la même requête sur equipe1, CA MARCHE !

    à me rendre fou ! Pourquoi sur equipe2 ça ne marche pas?

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 316
    Par défaut
    $sql="SELECT COUNT (*) FROM $stats.calendrier WHERE equipe1='Marseille' AND journee='".$_POST['journee']."' ;";
    décortique ton résultat pour savoir ce qui ce passe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $sql="SELECT COUNT (*) FROM $stats.calendrier WHERE equipe1='Marseille' AND journee='".$_POST['journee']."' ;";
    $res=mysql_query($sql) or die(mysql_error());
    $nb= mysql_num_rows($res);			
    print($nb);

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

Discussions similaires

  1. Réponses: 22
    Dernier message: 10/07/2011, 17h49
  2. Réponses: 2
    Dernier message: 07/02/2011, 09h39
  3. Réponses: 2
    Dernier message: 14/04/2009, 08h35
  4. pas d'erreur mais ma procédure ne fait pas ce qui est demandé
    Par mennou dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 15/06/2008, 16h14
  5. pas d'erreur mais update qui marche pas
    Par gloppy dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/12/2006, 15h49

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