Problème de requête avec count(*) [résolu] [mySQL] - SQL/NoSQL - Programmation
Marsh Posté le 04-01-2003 à 12:17:10
Code :
|
Puis tu sort le nb_type dans un mysql_fetch_array ou otre
Marsh Posté le 04-01-2003 à 12:36:47
J'ai suivi ton exemple mais là j'ai un autre problème incompréhensible
Voici mon script complet :
<?PHP
$model="Peugeot 406";
$date_start="2002-01-01";
$date_end="2002-12-01";
include ("connexion.php" );
$requete="SELECT count(*) AS nb".
"FROM `booking`".
"WHERE car_model=\"$model\"".
"AND ((start_booking<=\"$date_start\" AND end_booking>=\"$date_end\" ) OR (start_booking>=\"$date_start\" AND start_booking<=\"$date_end\" ) OR (end_booking>=\"$date_start\" AND end_booking<=\"$date_end\" ))";
$result=mysql_query($requete,$connect);
$row=mysql_fetch_array($result);
$nb_booking=$row["nb"];
echo($nb_booking);
?>
Il me retourne comme erreur :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp\www\easycar\test_booking.php on line 11
?!
Marsh Posté le 04-01-2003 à 12:38:21
"FROM `booking`" |
pk ces ' '?
Marsh Posté le 04-01-2003 à 12:40:37
Non c'est bon je viens de comprendre mon erreur...
j'avais juste oublié les quote autour de nb :
"SELECT count(*) AS `nb`"
Merci à tous
Marsh Posté le 04-01-2003 à 12:41:38
chacal_one333 a écrit :
|
J'ai toujours été obligé d'entourer les noms de tables ou de champs par des quotes sans quoi ça marche pas.
Marsh Posté le 04-01-2003 à 12:43:58
f L Y a écrit : |
Marsh Posté le 04-01-2003 à 12:51:15
Et si tu l'écrit comme ca :
Code :
|
Marsh Posté le 04-01-2003 à 13:01:44
Kyle a écrit : Et si tu l'écrit comme ca :
|
Ouais je viens de comprendre... comme ça ça marche, mais comme j'utilise toujours la concaténation pour mieux m'y retrouver là je suis obligé de mettre des quotes.
Marsh Posté le 04-01-2003 à 13:23:29
f L Y a écrit : |
Moi aussi j'utilise la concaténation pour les variables et au final ce me donne ca :
Code :
|
Marsh Posté le 04-01-2003 à 11:48:47
Bonjour,
J'ai un problème avec une requête. La voici :
SELECT count(*)
FROM `booking`
WHERE car_model="Peugeot 406"
AND ((start_booking<="2002-01-01" AND end_booking>="2002-01-29" ) OR (start_booking>="2002-01-01" AND start_booking<="2002-01-29" ) OR (end_booking>="2002-01-01" AND end_booking<="2002-01-29" ));
Ceci n'est qu'un exemple, mais en gros la requête permet de savoir combien de voitures du type Peugeot 406 sont indisponibles entre les dates du 1er janvier 2002 et 29 janvier 2002 (deux dates entrés par n'importe quel utilisateur).
Je l'ai testé la requête marche parfaitement, mais seul problème je n'arrive pas à stocker le résultat obtenu (par exemple "4", puisqu'il s'agit d'un count(*)) dans une variable. Voici mon script complet :
$requete="ma requête vue plus haut"
$nbr_booking=mysql_query($requete,$connect);
echo($nbr_booking);
Selon moi le nombre de résultats devraient être contenus dans la variable $nbr_booking non ? Au lieu de cela, l'écho me renvoie : "Resource id #2" quelque soit le résultat !?!
Message édité par f L Y le 04-01-2003 à 12:42:15