Vous n'êtes pas identifié(e).
Pages :: 1
$req=$co->query("SELECT COUNT(*) AS cpt FROM '".$table."'"); bad beurkkkkkkkkkkkk
$req=$co->query("SELECT COUNT(*) AS cpt FROM $table"); good
:D:D
l'intéressé se reconnaitra :D
a++
Hors ligne
Je suis peut être pas l'intéressé mais je me reconnait tout de même.
Fichue vieilles habitudes dont on arrive pas à se dépêtrer...
Par contre ne devrait-on pas dire beurk pour le COUNT(*) ? ^^
C'est similaire au SELECT *
Dernière modification par xTG (04-01-2010 07:53:07)
Hors ligne
Hannnnnnn
Provocation !
La programmation est composée de 80% de réflexion pour 20% de syntaxe -> réfléchissez à votre problème par étapes
Recommande l'utilisation du pattern Singleton
Si jamais je poste un morceau de code pour vous aider, prenez bien compte que je n'ai pas forcément testé le code que je poste et qu'il est possible qu'il contienne des erreurs
Hors ligne
:D:P:cool:
a++
Dernière modification par Pierrot (04-01-2010 10:02:34)
Hors ligne
Je suis peut être pas l'intéressé mais je me reconnait tout de même.
Fichue vieilles habitudes dont on arrive pas à se dépêtrer...Par contre ne devrait-on pas dire beurk pour le COUNT(*) ? ^^
C'est similaire au SELECT *
Pas du tout, COUNT(*) compte les lignes de la table mais ne rappatrie pas toutes les colonnes comme le SELECT *
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
L'intéressé, c'était moi !!! Mais suite à mauvaise manip, flemme de reposter tout le post avec les codes
Je faisais une concat type mysql normal alors qu'avec PDO, cela ne fonctionnait pas : les quotes étaient en trop..
Thx Pierrot [t'as même eu droit à un mp ^^]
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
>>t'as même eu droit à un mp ^^
j'aurais préféré autre chose
a++
Hors ligne
Bon... je suis toujours avec mon soucis... et ça me gave un peu [vive le passage a PDO ^^]
Soit une fonction basique
Appellée par une ligne tout aussi basique
Mais alors, pk ça plantouille, Groudddiouuuuudiiouuuuuuu!
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
Déjà cela serait mieux comme ça non si on respecte l'esprit du topic ?
Hors ligne
Respecter l'esprit, peut être..... en tout cas, ça ne fonctionne pas mieux ^^ [merci quand même ]
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
Saluton,
Pourquoi ne pas employer la syntaxe sprintf ?
Ou bien, encore mieux avec PDO, une requête préparée (prepared statement)
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
je déterre un peu le topic pour un problème qui me fait bizarre...
Alors que j'ai reussi à le faire tourner sur une plate-forme (herbergement Oxyd), j'ai tenté de le faire tourner sur Easyphp (2.0) [avec les extensions PDO activées, bien sur] et là,
Fatal error: Call to a member function fetch() on a non-object in H:\Partage\intranet\alcages\fct.php on line 7
Sachant que le fichier fct.php contient :
et que j'appelle tout cela par un simple
Quelqu'un a-t-il une idée ??
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
Peut-être que la requête est vide et que donc il n'y a pas de PDOStatement généré.
Encore qu'un SELECT COUNT(*) devrait retourné soit une exception, s'il y a une erreur dans le code SQL, soit au moins un PDOStatement d'une ligne d'une colonne avec le résultat du comptage éventuellement égal à zéro.
Bizarre.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Bizarre.
C'est bien ce que je me dis
MERCI de lire le mode d'emploi avant de poster !!
Hors ligne
Bonjour,
Si vous vous trouvez ca bizarre moi je trouve ca normal. En effet l'option de commande PDO::FETCH_OBJ requiert que $cptfull soit un objet, vu que ce ne doit pas être le cas,
Fatal error: Call to a member function fetch() on a non-object in H:\Partage\intranet\alcages\fct.php on line 7
est plutôt normal.
++
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Ouh la ! Il ne faut pas confondre la fonction utilisateur cptfull(), avec l'attribut cptfull de l'objet $row chargé par $row = $req->fetch(PDO::FETCH_OBJ);
En l'occurrence il nous est dit que $req n'est pas un objet et qu'il n'a donc pas de methode fetch().
Or $req est un PDOSTATEMENT auquel on demande de retourner ces lignes de résultat sous forme d'objet.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Bonjour,
Désolé me suis trompé de variable. Mais l'erreur viens bien de la
function cptfull($table,$champ,$cond) { // fonction compteur complet
global $co;
$req=$co->query("SELECT COUNT(*) AS cptfull FROM $table WHERE $champ = '$cond'"); $row = $req->fetch(PDO::FETCH_OBJ); $cptfull = $row->cptfull; $req->closeCursor();
return $cptfull;
}
Ce que je voulais dire et là ou tu te trompe quand tu dis
En l'occurrence il nous est dit que $req n'est pas un objet et qu'il n'a donc pas de methode fetch().
c'est qu'en fait au moment de l'affectation de l'objet retourné par la methode de $req sur la variable $row est que $row n'est pas un objet. Il faut donc au préalable définir $row comme objet dans la fonction avant de l'associer à l'objet retourné par la methode fetch de $req. $req est un PDOstatement (qui est un objet PDO) et il possède bien une méthode fetch^^.
Désolé donc pour cette précipitation dans ma réponse^^
Dernière modification par Jc (30-06-2010 20:28:38)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Pages :: 1