Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > Zend_Db
Zend_Db Forum d'entraide pour le composant Zend_Db du Zend Framework (création de requêtes, abstraction, ORM etc.). Avant de poster -> FAQ Zend_Db.
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 10/12/2006, 00h32   #1
Membre actif
 
Inscription : 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
Points : 187
Points : 187
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
sir_gcc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 09h39   #2
Rédacteur
 
Avatar de doctorrock
 
Homme Julien Pauli
Architecte de système d'information
Inscription : mai 2006
Messages : 597
Détails du profil
Informations personnelles :
Nom : Homme Julien Pauli
Âge : 29
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : mai 2006
Messages : 597
Points : 5 015
Points : 5 015
La doc indique que cette méthode n'est pas fiable concernant des requêtes SELECT :

Citation:
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.
Citation:
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
doctorrock est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2006, 18h44   #3
Membre actif
 
Inscription : 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
Points : 187
Points : 187
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.
sir_gcc 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 09h18.


 
 
 
 
Partenaires

Hébergement Web