Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PDO

PDO Forum d'entraide sur PDO (PHP Data Objects) : pilote générique de bases de données avec PHP. Avant de poster -> FAQ PDO et Cours PDO

Réponse
 
Outils de la discussion
Vieux 29/05/2008, 10h20   #1 (permalink)
Membre émérite
 
Date d'inscription: mai 2007
Messages: 906
Envoyer un message via MSN à sliderman
Par défaut Savoir si un update est effectué

Bonjour,

J'ai un script php qui fait une requete (de type update) sur ma bdd. Pour savoir si cet update s'est bien déroulé j'ai le retour de rowCount() de mon objet PDO qui est à 1 si la mise à jour c'est bien passée (sur une seule ligne).
Mais il s'avère que si l'UPDATE ne fonctionne pas (pour une raison ou pour une autre (perte de connextion bdd, crash mysql, ...) rowCount() me retoune 0 alors que 0 est aussi retourné lorsque la requete n'affecte parsone (ou qu'elle est mal formé).
Avez vous un moyen qui permet de distinguer une requete échoué d'une requete n'affectant aucune ligne ?
__________________
http://aldorande.miniville.fr/ind
Fedora 8, eclipse 3.3 sur x86_64
--------------
Colorer votre code php
sliderman est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/05/2008, 10h39   #2 (permalink)
Membre actif
 
Avatar de juliens9
 
Date d'inscription: mars 2007
Localisation: Lyon
Messages: 170
Par défaut re

il existe la fonction :

mysql_rows_affected();

qui te renvoi le nombre de lignes affecté par ta modification.

Tu teste si elle est supérieure a 0 et ca devrait régler ton probleme.
juliens9 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/05/2008, 10h47   #3 (permalink)
Membre émérite
 
Date d'inscription: mai 2007
Messages: 906
Envoyer un message via MSN à sliderman
Par défaut

Citation:
Envoyé par juliens9 Voir le message
il existe la fonction :

mysql_rows_affected();

qui te renvoi le nombre de lignes affecté par ta modification.

Tu teste si elle est supérieure a 0 et ca devrait régler ton probleme.
enfaite rowCount() te fais la même chose mais sur un obejt PDO
je pense que tu ne m'as pas bien compris
je sais que la méthode retourne, dans le cas où la requete affete un ligne, 1
mais elle retourne 0, si la requete est n'affecte rien, si la requete n'as pas effectuée ou si elle est mal formée. je voudrais savoir s'il y a moyen de différencier c'est trois cas.

PS : c'est une requete efectué par un PHP apelée par un Ajax
__________________
http://aldorande.miniville.fr/ind
Fedora 8, eclipse 3.3 sur x86_64
--------------
Colorer votre code php
sliderman est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 29/05/2008, 10h59   #4 (permalink)
Membre actif
 
Avatar de juliens9
 
Date d'inscription: mars 2007
Localisation: Lyon
Messages: 170
Par défaut re

Ah d'accord j'avais pas compris comme ca.

tu peux essayer de voir ce qui se passe avec des requetes select, en effectuant les meme requetes, en bidouillant un peu tu dois pouvoir y arriver.

Cependant a moins d'aller cherche dans le champ response du serveur je pense pas que ca existe.
juliens9 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS PHPFAQ PHPCOURS PHPSOURCES PHPLIVRES PHPSCRIPTS PHPOUTILS PHPCOMPARATIFSZend Framework

Réponse

Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PDO



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h39.


Vos questions techniques : forum d'entraide PHP - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2009 www.developpez.com - Legal informations.