Banale requête de comptage
Résolu
danielos77
Messages postés
107
Date d'inscription
Statut
Membre
Dernière intervention
-
danielos77 Messages postés 107 Date d'inscription Statut Membre Dernière intervention -
danielos77 Messages postés 107 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je cherche à partir d'une variable compter le nombre d’occurrence dans une colonne.
La requête fonctionne bien dans la BDD
Le debug en print_r($request) comme print_r($nbre) donne : Fatal error: Uncaught Error: Call to a member function fetch() on string in /home/anegjxuk/public_html/ULM/EnvoiCreationNumStage.php:24 Stack trace: #0 {main} thrown in /home/anegjxuk/public_html/ULM/EnvoiCreationNumStage.php on line 24
voici mon code :
Un grand merci d'avance.
Je cherche à partir d'une variable compter le nombre d’occurrence dans une colonne.
La requête fonctionne bien dans la BDD
Le debug en print_r($request) comme print_r($nbre) donne : Fatal error: Uncaught Error: Call to a member function fetch() on string in /home/anegjxuk/public_html/ULM/EnvoiCreationNumStage.php:24 Stack trace: #0 {main} thrown in /home/anegjxuk/public_html/ULM/EnvoiCreationNumStage.php on line 24
voici mon code :
<?php
//activation de l'affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
echo "TEST";
//on récupère proprement la variable avant de l'utiliser
$Saison = !empty($_POST['Year']) ? trim($_POST['Year']) : NULL; // on récupère la variable NULL et on supprime les "lead spaces"
//test d'affichage de la variable
echo '<br>'.$Saison.'<br>'; //Test OK => passage en commentaire
if($Saison){ // si la variable $Saison existe et n'est pas nulle/vide
//on inclut le fichier de connexion à la bdd
require_once "../secure/cnxBdd.php";
//requête pour compter le nb d'occurence égale à la variable $Sasion dans la colonne Saison
$request = "SELECT COUNT(*) FROM Stages_ULM where Saison = ".$Saison;
//on envoi la requête et on récupère le résultat dans la variable $result
$nbre = $request->fetch();
//debug
print_r($nbre).'<br>';
//on affiche le résultat
echo $nbre.'<br>';
}
?>
Un grand merci d'avance.
4 réponses
-
Bonjour,
Vu que tu fais du PDO, commence par ça
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Tu y trouveras un exemple d'exécution de requête... ( prepare puis execute )
//préparation de la requête et des variables $sql= "SELECT COUNT(*) FROM Stages_ULM where Saison = ? "; $datas = array($Saison); //Execution de la requete try{ $requete = $bdd -> prepare($sql) ; // $bdd à renommer par le nom de ta variable de connexion $requete->execute($datas) ; $nbre = $requete->fetch(); }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); }
-
Salut,
Le message d'erreur indique que tu essayes d'appeler la fonction fetch() sur une variable de type string : en effet ta variable $request est juste une chaine de caractère, elle ne possède pas de fonction.
Tu as simplement oublié d'exécuter ta requête sql.
Bonne journée, -
Bonjour Pitet,
Comme tu peux t'en douter, je suis un vrai branque en codage.$nbre = $request->fetch();
n'envoie donc pas la requête pour execution ?
Quelle serait la bonne syntaxe ? svp.
Merci -
Bonjour Jordane,
Merci pour le lien
J'avais commencé par :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
et là je revenais aux bases en lisant
https://www.commentcamarche.net/faq/27489-pdo-une-autre-facon-d-acceder-a-vos-bases-de-donnees
De la lecture en vue.
Bonne continuation dans les "sauvetages"