Probleme requete SQL dans variable

Résolu
Bonjour,
voici mon code, que je fasse comme sa :
$requete = mysql_query("SELECT COUNT(*) FROM reservation WHERE date='.$date2.' AND heure_deb>='.$hdeb.' AND heure_fin<='.$hfin.' AND (type_mat='portable' OR type_mat2='portable' OR type_mat3='portable') ");
$rep=(9-$requete);
if ($rep > 0)
{
echo '<option value="portable">Portable</option>';
}

ou comme sa :

$requete =9 - mysql_query("SELECT COUNT(*) FROM reservation WHERE date='.$date2.' AND heure_deb>='.$hdeb.' AND heure_fin<='.$hfin.' AND (type_mat='portable' OR type_mat2='portable' OR type_mat3='portable')");
if ($requete > 0)
{
echo '<option value="portable">Portable</option>';
}

la requête marche sous l'analyseur de requête de phpmyadmin(en remplacant évidement les variables par des valeurs), mais cela ne fonctionne pas dans mes pages, quelqu'un saurait-il pourquoi ?

4 réponses

  1. mysql_query te renvoit pas un nombre, mais une ressource
    pour avoir la réponse, utilises le code suivant :

    $requete = mysql_query("SELECT COUNT(*) FROM reservation WHERE date='.$date2.' AND heure_deb>='.$hdeb.' AND heure_fin<='.$hfin.' AND (type_mat='portable' OR type_mat2='portable' OR type_mat3='portable') ");
    $reponse= mysql_fetch_row ($requete );
    $rep= 9-$reponse[0];
    1. Bonjour

      Non, cette requête ne marche certainement pas. Elle contient des points qui n'ont rien à faire ici
      mysql_query("SELECT COUNT(*) FROM reservation WHERE date='$date2' AND heure_deb>='$hdeb' AND heure_fin<='$hfin' AND (type_mat='portable' OR type_mat2='portable' OR type_mat3='portable')");
      Là où ils étaient placés, ce n'étaient pas de opérateurs de concaténation mais de simples caractères comme les autres. Si tu avais affiché la requête réellement envoyée à mysql, tu aurais vu les points.
      1. sa marche niquel, merci.

        $requete = mysql_query("SELECT COUNT(*) FROM reservation WHERE date='$date2' AND heure_deb>='$hdeb' AND heure_fin<='$hfin' AND (type_mat='portable' OR type_mat2='portable' OR type_mat3='portable') ");
        $reponse= mysql_fetch_row ($requete );
        $rep=9-$reponse[0];
        if ($rep > 0)
        {
        echo '<option value="portable">Portable</option>';
        }

        pour les points que j'avais mis, j'avais a la base fait comme sa : '".$variable."'

        merci a vous, je vais pouvoir continuer mon travail ! :)