Probleme avec SELECT en Mysql

Fermé
boby87000 Messages postés 113 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 10 juin 2011 - 10 mars 2009 à 14:01
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 - 10 mars 2009 à 17:39
Bonjour,
je suis debutant en php
et je voudrait afficher tpus les fichiers dont le nom commence "net" et son status =0 a la date du 06/03/2009
avec le select ci dessous sa ne marche

SELECT * FROM LOG_FILE WHERE FILENAME LIKE 'net%' AND STATUS = 0 AND DATE =2009-03-06

11 réponses

Alexarbitre
10 mars 2009 à 14:11
Bonjour, en php :

<?php
           $requete = " " ;// votre requete ici sous forme de chaine
           $res = mysql_query( $requete ) ;

               // le resultat est renvoyé sous forme d'objet :
           $res = mysql_fetch_object ( $res ) ;

              // maintenant vous pouvez utiliser la variable comme un objet
           for ( $i=1 ; $i=count($res) ; $i++ )
                 {
                      echo $res[$i]['nom_du_champ_1'] .'<br />' ;
                      echo $res[$i]['nom_du_champ_2'] .'<br />' ;
                      echo $res[$i]['nom_du_champ_3'] .'<br />' ;
                 } // end for

?>


Le count( $ res ) pour la longueur de la boucle est à revoir, je ne l'ai pas testé ...
Mais vous dites que ça ne marche pas, quel est le résultat obtenu ?
0
boby87000 Messages postés 113 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 10 juin 2011
10 mars 2009 à 16:16
en fait je voudrais juste savoir si ma synthaxe est correcte car je l'excute rien ne s'affiche
0
Alexarbitre
10 mars 2009 à 16:23
SELECT * 
FROM LOG_FILE 
WHERE FILENAME LIKE 'net%' 
AND STATUS = 0 
AND DATE =2009-03-06 ;


Ne pas oublier le point-virgule à la fin ...
La syntaxe de la requête ne comporte pas d'erreur à priopri.
Sinon, si MySql ne te renvoie pas d'erreur spécifique, c'est : soit que aucun fichier ne correspond à ta requête, soit que la contrainte de la date est mal interprêtée.

Essaie cette requête :
SELECT * 
FROM LOG_FILE 
WHERE FILENAME LIKE 'net%' ;

Puis celle-ci :
SELECT * 
FROM LOG_FILE 
WHERE FILENAME LIKE 'net%' 
AND STATUS = 0 ;


Vérifie bien les types des champs de la table que tu as crée et que tu interroges.
Peux tu me mettre ici la requête utilisée pour la création de la table ?
0
boby87000 Messages postés 113 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 10 juin 2011
10 mars 2009 à 16:34
le premier script marche marche c'est il m'affiche le resultat
parcontre quand je lui rajoute STATUS=0
il me marque l'erreur suivant:
MySQL n'a retourné aucun enregistrement. (traitement: 0.0002 sec.)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
atspinto Messages postés 338 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 8 août 2014 27
10 mars 2009 à 16:43
est tu sûr d'avoir des enregistrements correspondant à ces paremetres ??
0
boby87000 Messages postés 113 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 10 juin 2011
10 mars 2009 à 16:49
oui pas de soucis puisque se sont des log donc soit le STATUS est a 0 ou 1 et je voudrais bien afficher ceux dont le status est a 0 voila mon probleme. je suis avec une BD Mysql
0
boby87000 Messages postés 113 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 10 juin 2011
10 mars 2009 à 16:54
je t'envoi le champs et les données de ma tables LOG_FILE
FILE_ID PORT_ID FILENAME DATE PATH STATUS TTL DESCRIPTION
604 1 netco 2009-03-10 netco 0 0
0
atspinto Messages postés 338 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 8 août 2014 27
10 mars 2009 à 16:55
t'as pas bien compris ma question .... là t'as une selection avec 3 params:
SELECT *
FROM LOG_FILE
WHERE FILENAME LIKE 'net%'
AND STATUS = 0
AND DATE =2009-03-06 ;


si tu as vraiment des STATUS = 0; cette requete marche sans pb : SELECT * FROM LOG_FILE STATUS = 0;

si ça marche bien.... verifie que t'as des données repondant aux 3 critères de selection....

0
boby87000 Messages postés 113 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 10 juin 2011
10 mars 2009 à 17:06
quand je fais
SELECT * FROM LOG_FILE STATUS = 0;
il ne trouve pas d'enregistrement et je ne comprend plus car il devrait tout afficher puisqu'ils ont tous le STATUS a 0
0
Alexarbitre
10 mars 2009 à 17:07
On pourraît avoir le CREATE TABLE () ; qui a permis de créer et de typer cette table ? merci
0
boby87000 Messages postés 113 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 10 juin 2011
10 mars 2009 à 17:15
merci les gars
j'ai comri
il fallait juste faire
SELECT * FROM LOG_FILE WHERE STATUS="0";
c'est a dire mettre le ""
merci
0
Alexarbitre
10 mars 2009 à 17:23
Oui donc juste un type VARCHAR ^^
Bonne chance pour la suite
0
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
10 mars 2009 à 17:39
Souvenir souvenir
Moi j aurais parié sur la declaration de la connexion ...
Mais non c est les guillements ... Bonne année !!!!
0