Probleme requete SQL dans variable [Résolu/Fermé]

Signaler
-
 gono -
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

Messages postés
162
Date d'inscription
lundi 11 mai 2009
Statut
Membre
Dernière intervention
1 septembre 2009
11
tu as tester tes variables ?
Messages postés
817
Date d'inscription
samedi 21 juin 2008
Statut
Membre
Dernière intervention
17 juillet 2012
169
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];
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.
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 ! :)