Aller au menu - Aller au contenu
Inscris-toi au e-camp "Héberge ton jeu Facebook sur Azure" de Microsoft vendredi 25 mai à 13h30 !

mysql_num_rows son équivalence en PDO

Pour accéder à cette section
Connectez-vous !
connexion_rpx

Résolu Le problème de ce sujet a été résolu

Offre d'emploi : Développeur Web PHP/Drupal (H/F)

Page 1 
Auteur Message
1 visiteur sur ce sujet (1 Anonyme)
Page 1 
Hors ligne kickoff # Posté le 09/03/2010 à 11:40:28
Encore une victoire de canard
Avatar

Bonjour,

je suis en train de faire évoluer mon site vers la PDO tout doucement et j'ai une petite question.

En effet, avant je mettais :
Code : PHP
1
2
3
<?php
if(mysql_num_rows($sql_class_PoA) == O){
?>


mais maintenant que je suis passé en PDO mysql_num_rows ne fonctionne plus. Je voudrais donc savoir quel est son équivalent en PDO.

Merci d'avance pour votre aide

"Tu es mon soleil et moi la Terre. Certes ma vie tourne autour de toi comme la Terre autour du soleil, mais sache que je sais aussi tourner sur moi même." By Kickoff
 
Publicité # Posté le 09/03/2010 à 11:40:28

Connecté christouphe # Posté le 09/03/2010 à 11:42:16
Avatar

Études : Université Paul Sabatier Toulouse

heu ceci :

PDOStatement->rowCount — Retourne le nombre de lignes affectées par le dernier appel à la fonction PDOStatement::execute()

?

Une fois que vous éliminez l'impossible, peu importe si ce qui reste est improbable, ce devrait être la vérité. :p
"Tracker addict ;) :-° ", La POO en PHP, il n'y a que ça de vrai :D
La solution à vos problèmes en PHP - Un objet peut-il être en session ? - Comment utiliser correctement les dates dans un programme ? - /!\ A LIRE SI VOUS UTILISEZ PDO /!\
 
Hors ligne kickoff # Posté le 09/03/2010 à 12:04:27
Encore une victoire de canard
Avatar

il y a moyen de lui dire à quelle requête ?
car par exemple sur ma page au début je fais mes 4-5 requêtes avec :
Code : PHP
1
2
3
<?php
$bdd->query
?>


et après quand j'ai besoin d'une des requêtes je fais :
Code : PHP
1
2
3
<?php
mysql_num_rows($sql_class_PoA) == 0
?>


ou
Code : PHP
1
2
3
<?php
while($data_class_PoA = $sql_class_PoA->fetch()){
?>


donc comme PDOStatement retourne le nombre de lignes affectées par la dernière requête DELETE, INSERT ou UPDATE exécutée par l'objet PDOStatement il se peut que ne soit pas forcément la requête que je désire...

PS : je débute mais vraiment en PDO... :-°

"Tu es mon soleil et moi la Terre. Certes ma vie tourne autour de toi comme la Terre autour du soleil, mais sache que je sais aussi tourner sur moi même." By Kickoff
 
Hors ligne Arnich # Posté le 09/03/2010 à 13:07:01
Point trop n'en faut

Je ne connais pas trop PDO mais il retourne un array donc tu dois pouvoir utiliser la methode sizeOf() pour avoir la taille du tableau
Hors ligne Cybermanu # Posté le 09/03/2010 à 13:20:24
Avatar

Ville : Hostun
Pays : France métropolitaine

sizeOf --> C'est plutôt count je pense

Ensuite comme l'as dis Christouphe tu peux utiliser PDO::rowCount(), mais cela ne marche pas sur les requêtes 'SELECT' (PDO::query()),

Pour les query(), tu peux donc utiliser la fonction count de php tout simplement.

Programmeur : c'est celui qui résout pour toi, de façon incompréhensible, un problème que tu ne savais pas que tu avait... :p
Image utilisateur

Apprenez à utiliser un ORM pour PHP : Doctrine !
 
Connecté christouphe # Posté le 09/03/2010 à 13:24:50
Avatar

Études : Université Paul Sabatier Toulouse

Cette réponse a aidé l'auteur du sujet Cette réponse a aidé l'auteur du sujet
un fetchAll() renvoie bien un array() sur un SELECT, donc le sizeof() est possible.

NOrmalement tu dois mettre le rowCount() juste après avoir commité tes demandes. Une fois sortie de leur contexte (méthode) c'est plus la peine.

Une fois que vous éliminez l'impossible, peu importe si ce qui reste est improbable, ce devrait être la vérité. :p
"Tracker addict ;) :-° ", La POO en PHP, il n'y a que ça de vrai :D
La solution à vos problèmes en PHP - Un objet peut-il être en session ? - Comment utiliser correctement les dates dans un programme ? - /!\ A LIRE SI VOUS UTILISEZ PDO /!\
 
Hors ligne kickoff # Posté le 09/03/2010 à 15:12:59
Encore une victoire de canard
Avatar

bon alors étant débutant en PDO je n'avais pas compris directement le message de christouphe...

donc j'ai fait des recherches plus poussées notamment sur le SDZ et je n'étais pas le seul et voici le message qui m'a aidé :
http://www.siteduzero.com/forum-83-470 [...] html#r4464956

ce qui en fait correspond à la réponse de christouphe...

donc merci à vous pour votre aide et désolé de ne pas avoir fait une recherche plus poussée avant... :-°

"Tu es mon soleil et moi la Terre. Certes ma vie tourne autour de toi comme la Terre autour du soleil, mais sache que je sais aussi tourner sur moi même." By Kickoff
 
Hors ligne Zazou # Posté le 09/03/2010 à 15:16:17
Avatar

Ville : Le havre
Pays : France métropolitaine
Études : IUT Havre

Sinon pour les méthodes query, tu fais un COUNT(*) AS nb et tu récupères le nombre comme n'importe quel champ

Pour des missions ponctuelles et rémunérées, une seule adresse --> http://www.isabellejaffrezic.fr
 

Retour au forum "PHP" ou à la liste des forums

Pour accéder à cette section
Connectez-vous !
connexion_rpx