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. 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.
  2. Ok c'est bon c'est un truc débile, il fallait faire "COUNT(id_Client)" et pas "COUNT (id_Client)"

    Merci
    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. Bonjour,

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

        Vous aurez une erreur plus précise.
        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