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 :

Problème étrange avec mysql_query


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 23
    Par défaut Problème étrange avec mysql_query
    Bonsoir à tous.

    J'ai un problème en PHP avec la fonction mysql_query() et je n'arrive pas à le résoudre après plusieurs heures passées dessus...

    Voila ma ligne de commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("UPDATE inscrits SET idrole1=NULL,idrole2=NULL,idrole3=NULL,idrole4=NULL WHERE logininscrit='".$_POST['logininscrit']."';") OR DIE ("Erreur n°".mysql_errno()." : ".mysql_error());
    Sachant que j'envoie à la page le logininscrit en méthode POST à l'aide d'une liste déroulante.

    Seulement... Je n'ai aucun message d'erreur et la base de donnée n'est pas mis à jour.

    Je me suis bien connecté à la base de donnée auparavant.

    J'ai donc fait un echo du paramètre de mysql_query, j'ai copié l'affichage sur le navigateur de la requête et je l'ai collé dans PHPMyAdmin et la requête à fonctionner.

    De plus, cette même ligne de commande (Seulement $_POST['logininscrit'] est changé en $_SESSION['logininscrit']) fonctionne sur une autre de mes pages PHP...

    Voila... Je ne sais plus quoi faire... Pourriez vous m'aider s'il vous plait ?

    Merci beaucoup d'avance et je vous souhaite de passer une excellente soirée !

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    Quand tu dis que tu n'as aucun message d'erreur : est-ce à l'exécution que tu n'en as aucun (dans la fenêtre de rendu) ou même les logs PHP/MySQL sont vides ?

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    S'il n'y a pas d'erreur et que tu es sur qu'aucune ligne est modifiée (tu pourrais le controler avec affected_rows) c'est que ton WHERE ne cible rien.
    Le jeu des encodages et des affichages peut faire que la requete que tu copies/colles n'est pas identique à celle executée.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 23
    Par défaut
    Et bien lorsque je dis qu'il n'y a aucune erreur, je parle d'affichage à l'écran, pour ce qui est des logs, je ne les ai pas initialisés et je ne m'en était, jusque là, pas servit.

    Je viens d'utiliser la commande mysql_affected_rows() et voila l'affichage écran que j'obtiens : "1".

    Donc la modification s'est bien effectuée...

  5. #5
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    ça fonctionne alors ?

    Au passage si tu fais des essais successifs d'update avec la même valeur, fait attention avec mysql_affected_rows() car dixit le manuel :

    Lorsque vous utilisez UPDATE, MySQL ne mettra pas à jour les colonnes si la nouvelle valeur est identique à l'ancienne. Il est donc possible que mysql_affected_rows() ne représente pas forcément le nombre de lignes correspondantes mais plutôt le nombre de lignes qui ont été réellement affectées par la requête

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 23
    Par défaut
    Non non, cela ne fonctionne pas... Merci pour ton information sur la commande mysql_affected_rows.

    Voila, je suis donc encore bloqué sur ce problème. J'ai essayé de faire un update au tout début de ma page sur une seule colonne de la table "inscrits" de ma base de donnée et en utilisant aucune variable et cela réagit de la même manière... (Pas d'erreur mais la base de donnée n'est pas affectée).

    Voila la ligne de commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("UPDATE inscrits SET idrole1=3 WHERE logininscrit='testte';") OR DIE ("Erreur n°".mysql_errno()." : ".mysql_error());
    C'est vraiment étrange je trouve...

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je viens d'utiliser la commande mysql_affected_rows() et voila l'affichage écran que j'obtiens : "1".
    C'est donc qu'une ligne a bien été modifiée.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Citation Envoyé par Birmania Voir le message
    Non non, cela ne fonctionne pas... Merci pour ton information sur la commande mysql_affected_rows.

    Voila, je suis donc encore bloqué sur ce problème. J'ai essayé de faire un update au tout début de ma page sur une seule colonne de la table "inscrits" de ma base de donnée et en utilisant aucune variable et cela réagit de la même manière... (Pas d'erreur mais la base de donnée n'est pas affectée).

    Voila la ligne de commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("UPDATE inscrits SET idrole1=3 WHERE logininscrit='testte';") OR DIE ("Erreur n°".mysql_errno()." : ".mysql_error());
    C'est vraiment étrange je trouve...
    ça dépend. Si rien ne correspond au where, la requête est effectuée normalement mais rien ne se passe et il n'y a pas lieu de renvoyer un message d'erreur. Ce qui serait étrange dans ce cas c'est que mysql_affected_rows() renvoie 1.

Discussions similaires

  1. Problème étrange avec DBM::Deep
    Par scaleo dans le forum Modules
    Réponses: 3
    Dernier message: 23/03/2007, 10h51
  2. Problème étrange avec un integer
    Par Pedro dans le forum Delphi
    Réponses: 6
    Dernier message: 05/12/2006, 21h08
  3. Problème étrange avec DecimalSeparator ?
    Par MaTHieU_ dans le forum Delphi
    Réponses: 2
    Dernier message: 13/07/2006, 09h14
  4. problème étrange avec excel
    Par lanfeust42 dans le forum Modules
    Réponses: 1
    Dernier message: 15/06/2006, 10h57
  5. [FLASH MX2004 PRO] Problème étrange avec LoadClip...
    Par josemoroide dans le forum Flash
    Réponses: 6
    Dernier message: 04/08/2004, 15h41

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