Problème de requête SQL

Bonjour,
J'ai un petit problème de requête SQL, pourtant elle me semble correcte, voici l'erreur

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

et voici le code

$req = "SELECT COUNT (id_Client)
FROM entreprises
WHERE
DATEDIFF( (
DATE( CURDATE( ) ) ) , (
DATE( `date_derniere_modification` )
)
) >365

";
$res=mysql_query($req);

while ($result=mysql_fetch_array($res))
{
echo $result[0];
}

Je précise que l'erreur apparait sur la ligne du while
Cette requête marche quand je ne fais pas de COUNT

merci
Configuration: Windows 2000
Firefox 3.0.10

6 réponses

  1. Contributeur
    pourquoi pas count(*) ?
    1. car ce n'est pas optimisé. Par contre vous pouvez utiliser count(1) à la place.

      Le count(*) lit la lit entière, donc chaque champs, avant d'incrémenter le compteur alors que count(1) ou count(champ) n'en lit qu'un
  2. Bonjour,

    Essayez de mettre ceci :
    $res=mysql_query($req) or die('Erreur SQL : '.mysql_error());

    Vous aurez une erreur plus précise.
    1. à tout les coups c'est une erreur de paranthèse ou de point virgule si ce n'est pas le cas regarde bien ce que tu as dans ta variable $res avant le while
      1. Ok c'est bon c'est un truc débile, il fallait faire "COUNT(id_Client)" et pas "COUNT (id_Client)"

        Merci
        1. je dois être vraiment débile car je ne fait pas la différence entre les deux COUNT(id_Client) que tu as écrit
          1. Modérateur
            Salut,

            regarde la requête donnée dans le premier message, il y un espace entre COUNT et la parenthèse qui suit, alors qu'il n'en faut pas puisque c'est une fonction.