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
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 29/05/2008, 10h20   #1
Membre éprouvé
 
Homme Marwan Rabbaa
Technophile Web
Inscription : mai 2007
Messages : 930
Détails du profil
Informations personnelles :
Nom : Homme Marwan Rabbaa

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

Informations forums :
Inscription : mai 2007
Messages : 930
Points : 412
Points : 412
Envoyer un message via MSN à sliderman Envoyer un message via Yahoo à 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 00
Vieux 29/05/2008, 10h39   #2
Membre confirmé
 
Avatar de juliens9
 
Directeur technique
Inscription : mars 2007
Messages : 192
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : mars 2007
Messages : 192
Points : 220
Points : 220
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 00
Vieux 29/05/2008, 10h47   #3
Membre éprouvé
 
Homme Marwan Rabbaa
Technophile Web
Inscription : mai 2007
Messages : 930
Détails du profil
Informations personnelles :
Nom : Homme Marwan Rabbaa

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

Informations forums :
Inscription : mai 2007
Messages : 930
Points : 412
Points : 412
Envoyer un message via MSN à sliderman Envoyer un message via Yahoo à sliderman
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 00
Vieux 29/05/2008, 10h59   #4
Membre confirmé
 
Avatar de juliens9
 
Directeur technique
Inscription : mars 2007
Messages : 192
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : mars 2007
Messages : 192
Points : 220
Points : 220
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 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 01h07.


 
 
 
 
Partenaires

Hébergement Web