Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
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 08/01/2012, 21h33   #1
Invité de passage
 
Homme Pierre JANIN
en recherche d'emploi
Inscription : janvier 2012
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Pierre JANIN
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : en recherche d'emploi
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2012
Messages : 2
Points : 1
Points : 1
Par défaut Select Count retourne un bool à false ?

Bonjour,

Les requêtes suivantes donnent des informations sur la quantités des articles.
Cet ensemble fonctionne correctement sur mon PC. Au transfert vers mon hébergeur ce code reste muet.
Ci dessous le code de la page appelante :
Code :
1
2
3
4
5
6
7
8
9
10
11
<?php
  $texte = ''; //Sinon ancien texte			
   if(isset($_POST['Sujet']) && isset($_POST['Mouvement'])){//il faut que les      variables existent
if(($_POST['Sujet']== 'Votre choix')&&($_POST['Mouvement']== 'Votre choix')){
   $texte  = '<p id=\'nbOeuvre\'>';
   $texte .= 'Vous pouvez visualiser un total de';
   $texte .= count_how_many($reqNbShowByCat);
   $texte .=  $_SESSION['cat'].'s.</p>';
}else....
?>
la fonction qui utilise la requête :
Code :
1
2
3
4
5
6
function count_how_many($requete) {
	$nb = $requete -> fetch();
	var_dump($nb); //sur le serveur bool(false)
	$requete -> closeCursor();
	return $nb['NbItems'];
}
la requête
Code :
1
2
3
4
5
6
7
8
 
<?php
$reqNbShowByCat = $bdd -> prepare('SELECT COUNT(Categorie) AS NbItems FROM Oeuvres WHERE Categorie = ?');
	if (isset($_SESSION['cat'])){
		$_SESSION['cat'] = strip_tags($_SESSION['cat']);
		$reqNbShowByCat -> execute(array($_SESSION['cat']));
		};
?>
Avec var_dump j'obtiens bool(false) pourtant sur mon PC il y a 175 articles et la variable me retourne bien un array avec la valeur 175.
J'ai mis en ligne l'ensemble fichiers et bdd de la version finalisée de mon PC.
Les images qui correspondent à la valeur sont bien vues sur le serveur par contre je ne parviens pas à en afficher le nombre.

Par avance, merci à tous ceux qui liront ces lignes.
old_pierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 12h17   #2
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 671
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 671
Points : 5 404
Points : 5 404
Si fetch() return false, en règle générale c'est que la requête a planté pour une raison ou une autre. Tu n'as pas de message d'erreur ? Tu es sûr que la requête a été exécutée ? (genre si le execute dans un if, vérifie que le script est bien passé dans le if)
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 09h26   #3
Invité de passage
 
Homme Pierre JANIN
en recherche d'emploi
Inscription : janvier 2012
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Pierre JANIN
Localisation : France, Meurthe et Moselle (Lorraine)

Informations professionnelles :
Activité : en recherche d'emploi
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2012
Messages : 2
Points : 1
Points : 1
Par défaut Erreur de syntaxe

Bonjour,

Avant toute chose merci bien pour vos commentaires.

Mes erreurs sont de cette nature variable : images/Machin/x120.JPG sur mon PC mais dans la BDD que des minuscules j'ai un peu honte.
Donc sur le serveur les variables ne sont pas reconnues (c'est normal ce n'est pas strictement les mêmes).
Pour un premier essai je ne pensais pas que windows offrait cette calamiteuse permissivité. Pour les répertoires l’OS est insensible à la casse. Dommage.
old_pierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 09h34   #4
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 991
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 991
Points : 5 031
Points : 5 031
Attention, sous linux les paths sont case sensitive !

Bon à savoir; avec PDOStatement, un résultat de count se réccupère plus facilement avec fetchColumn:
Code :
1
2
3
4
5
6
7
$query = "SELECT COUNT(*) FROM some_table";
if ($stmt = $pdo->query($query)) {
  $number = (int)$stmt->fetchColumn();
}
else {
  echo "Durrrh";
}
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h00.


 
 
 
 
Partenaires

Hébergement Web