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

Zend_Db PHP Discussion :

Valeur de retour de Zend_Db_Adapter_Abstract->update()


Sujet :

Zend_Db PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 325
    Par défaut Valeur de retour de Zend_Db_Adapter_Abstract->update()
    Bonsoir,

    la méthode update() de l'objet Zend_Db_Adapter_Abstract est sensée retourner un entier qui donne le nombre de lignes affectées par l'update.
    Pour faire ça, elle appelle la méthode rowCount() de l'objet PDOStatement (parceque j'utilise le driver pdo_mysql).

    Or dans la doc de php, il est dit que cette méthode n'est pas fiable, et qu'on ne devrait pas l'utiliser pour une application portable.

    Je voudrais donc avoir une méthode pour savoir si mon update s'est bien déroulée.
    Je pourrais éxecuter ma requête directement, mais comment faire si j'utilise cette méthode update() ?

    Si vous avez une idée...

    merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    La doc indique que cette méthode n'est pas fiable concernant des requêtes SELECT :

    Si la dernière requête SQL exécutée par l'objet PDOStatement associé est une requête de type SELECT, quelques bases de données retourneront le nombre de lignes retournées par cette requête. Néanmoins, ce comportement n'est pas garanti pour toutes les bases de données et ne devrait pas être exécuté pour des applications portables.
    Pour la plupart des bases de données, PDOStatement::rowCount() ne retourne pas le nombre de lignes affectées par une requête SELECT. À la place, utilisez PDO::query() pour faire une requête SELECT COUNT(*), puis utilisez PDOStatement::fetchColumn() pour récupérer le nombre de lignes retournées. Votre application peut ainsi effectuer la bonne action.
    Il n'y a aucune contre-indication sur son utilisation suite à un UPDATE

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 325
    Par défaut
    Bonsoir,

    Merci de ta réponse, j'avais lu trop vite la doc.
    J'avais fait une (autre) erreur et le fait d'avoir lu ça, je n'avais pas cherché plus loin.

    En fait j'ai une méthode d'une classe intermédiaire qui fait appel à cette méthode update, mais j'avais tout simplement oublié de lui faire retourner le résultat.

    Merci encore de ta réponse.

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

Discussions similaires

  1. UPDATE+Valeur de retour
    Par viscere dans le forum SQL
    Réponses: 2
    Dernier message: 11/12/2007, 16h49
  2. [MySQL] Valeur de retour d'une requête UPDATE
    Par Eagle959 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 01/01/2007, 15h58
  3. [VB6] Valeur de retour pour une Form
    Par preverse dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/08/2004, 17h16
  4. Valeur de retour d'une procédure externe
    Par elekis dans le forum x86 32-bits / 64-bits
    Réponses: 4
    Dernier message: 16/04/2004, 16h45
  5. Pourquoi une seule valeur de retour pour les fonctions ?
    Par Bruno75 dans le forum Langages de programmation
    Réponses: 33
    Dernier message: 18/01/2004, 13h58

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