Erreur de requête introuvable
Résolu/Fermé
zeckwam
Messages postés
49
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
13 avril 2013
-
9 juin 2010 à 13:45
ChrisCompote Messages postés 73 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 19 juin 2010 - 15 juin 2010 à 15:38
ChrisCompote Messages postés 73 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 19 juin 2010 - 15 juin 2010 à 15:38
A voir également:
- Erreur de requête introuvable
- Erreur 0x80070643 - Guide
- Iptv erreur de lecture - Forum TV & Vidéo
- Bcrypt hash introuvable ✓ - Forum Logiciels
- Erreur vidéo freebox ✓ - Forum TV & Vidéo
- Erreur 38 free ✓ - Forum Mobile
13 réponses
ChrisCompote
Messages postés
73
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
19 juin 2010
8
9 juin 2010 à 13:58
9 juin 2010 à 13:58
Bonjour,
Aucun souci visible ici
A mon avis il te manque un espace entre $_SESSION['tri'] et $_SESSION['sens']
'SELECT COUNT(*) AS code_ent FROM entreprise WHERE entreprise.nom_ent like " ' .$_SESSION['lettre']. '%" '
Aucun souci visible ici
SELECT nom_ent, adresse_ent, nom_ville, cp_ent FROM entreprise, ville WHERE entreprise.code_ville = ville.code_ville AND entreprise.nom_ent like " ' . $_SESSION['lettre'] . '%" ORDER BY ' . $_SESSION['tri'] . $_SESSION['sens'] . ' LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage
A mon avis il te manque un espace entre $_SESSION['tri'] et $_SESSION['sens']
zeckwam
Messages postés
49
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
13 avril 2013
2
9 juin 2010 à 14:01
9 juin 2010 à 14:01
Merci de cette réponse rapide !
Il faudrait, selon toi, que j'écrive
Il faudrait, selon toi, que j'écrive
ORDER BY ' . $_SESSION['tri'] .' ' . $_SESSION['sens'] . '
ChrisCompote
Messages postés
73
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
19 juin 2010
8
9 juin 2010 à 14:11
9 juin 2010 à 14:11
oui, debug en ajoutant un print devant la requete, et copie la dans phpmyadmin
zeckwam
Messages postés
49
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
13 avril 2013
2
9 juin 2010 à 14:30
9 juin 2010 à 14:30
Même avec un print j'ai le même message d'erreur... L'erreur n'est peut-être pas dans la requête, mais je ne comprend pas où elle pourrait être...
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
9 juin 2010 à 14:05
9 juin 2010 à 14:05
a mon avis c'est une virgule qu'il faut entre $_SESSION['tri'] et $_SESSION['sens']
ORDER BY '.$_SESSION['tri'].','.$_SESSION['sens'].'
ChrisCompote
Messages postés
73
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
19 juin 2010
8
9 juin 2010 à 14:10
9 juin 2010 à 14:10
Un espace ...
[ORDER BY {unsigned_integer | nom_de_colonne | formula} [ASC | DESC] ,...]
http://dev.mysql.com/doc/refman/5.0/fr/select.html
[ORDER BY {unsigned_integer | nom_de_colonne | formula} [ASC | DESC] ,...]
http://dev.mysql.com/doc/refman/5.0/fr/select.html
zeckwam
Messages postés
49
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
13 avril 2013
2
9 juin 2010 à 14:12
9 juin 2010 à 14:12
Arf, ni la virgule ni l'espace ne fonctionnent :s
zeckwam
Messages postés
49
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
13 avril 2013
2
9 juin 2010 à 14:13
9 juin 2010 à 14:13
Mais je me demande si le problème vient réellement de la requête, puisqu'elle me parrait correcte...
ChrisCompote
Messages postés
73
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
19 juin 2010
8
9 juin 2010 à 14:15
9 juin 2010 à 14:15
affiche la requete entière
zeckwam
Messages postés
49
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
13 avril 2013
2
9 juin 2010 à 14:17
9 juin 2010 à 14:17
$reponse = mysql_query('SELECT nom_ent, montant, secteur_taxe, anneesco FROM entreprise, offre, taxe, annee WHERE entreprise.code_ent = offre.code_ent AND offre.code_taxe = taxe.code_taxe AND taxe.code_annee = annee.code_annee AND entreprise.nom_ent like "'.$nom.'" AND offre.montant >= ' . $_SESSION['montant'] . ' ORDER BY ' . $_SESSION['tri'] . $_SESSION['sens'] . ' LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
ChrisCompote
Messages postés
73
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
19 juin 2010
8
9 juin 2010 à 14:20
9 juin 2010 à 14:20
ORDER BY ' . $_SESSION['tri'] . $_SESSION['sens'] . ' LIMIT ' .
ORDER BY ' . $_SESSION['tri'] .' '. $_SESSION['sens'] . ' LIMIT ' .
ORDER BY ' . $_SESSION['tri'] .' '. $_SESSION['sens'] . ' LIMIT ' .
zeckwam
Messages postés
49
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
13 avril 2013
2
9 juin 2010 à 14:22
9 juin 2010 à 14:22
C'est ce que j'ai tenté de faire, oui, mais rien n'y fait "Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in..."
Merci de m'aider, en tout cas !
Merci de m'aider, en tout cas !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
9 juin 2010 à 16:49
9 juin 2010 à 16:49
ORDER BY {unsigned_integer | nom_de_colonne | formula}
ce ne sont pas des noms de colonnes différentes dans cet exemple mais les différentes possibilités
un peu plus bas dans ce document (http://dev.mysql.com/doc/refman/5.0/fr/select.html) voir l'exemple avec plusieurs champs:
SELECT college, region, seed FROM tournament
-> ORDER BY region, seed;
donc je persiste et signe il faut bien une virgule pour séparer plusieurs champs pour ORDER BY
par contre tu as peut être une autre erreur dans ta requette
essayes comme ça pour voir quelle erreur elle te sort et quelle gueule elle a (verifies qu'il y a bien un espace entre chaque AND etc..):
ce ne sont pas des noms de colonnes différentes dans cet exemple mais les différentes possibilités
un peu plus bas dans ce document (http://dev.mysql.com/doc/refman/5.0/fr/select.html) voir l'exemple avec plusieurs champs:
SELECT college, region, seed FROM tournament
-> ORDER BY region, seed;
donc je persiste et signe il faut bien une virgule pour séparer plusieurs champs pour ORDER BY
par contre tu as peut être une autre erreur dans ta requette
essayes comme ça pour voir quelle erreur elle te sort et quelle gueule elle a (verifies qu'il y a bien un espace entre chaque AND etc..):
$query="SELECT nom_ent, montant, secteur_taxe, anneesco FROM entreprise, offre, taxe, annee WHERE entreprise.code_ent = offre.code_ent AND offre.code_taxe = taxe.code_taxe AND taxe.code_annee = annee.code_annee AND entreprise.nom_ent like "'.$nom.'" AND offre.montant >= ".$_SESSION['montant']." ORDER BY ".$_SESSION['tri'].",".$_SESSION['sens']." LIMIT ".$premierMessageAafficher.",".$nombreDeMessagesParPage." "; $reponse=mysql_query($query) or die ("Pb avec la requette :<br />".$query."<br />".mysql_error());
zeckwam
Messages postés
49
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
13 avril 2013
2
9 juin 2010 à 17:33
9 juin 2010 à 17:33
Rien a faire... j'ai retenté tout ça, virgule, espace, changer le nom des variables (puisque j'utilisais les mêmes noms pour une autre page), rien n'y fait... toujours cette erreur : "Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\dbentreprise\entreprises.php on line 120".
Même mon maître de stage bug devant mon problème...
En essayant ton code, ça me sort :
Pb avec la requette :
Query was empty
Même mon maître de stage bug devant mon problème...
En essayant ton code, ça me sort :
Pb avec la requette :
Query was empty
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
9 juin 2010 à 17:42
9 juin 2010 à 17:42
et si tu fais:
ça affiche quoi ?
$query="SELECT nom_ent, montant, secteur_taxe, anneesco FROM entreprise, offre, taxe, annee WHERE entreprise.code_ent = offre.code_ent AND offre.code_taxe = taxe.code_taxe AND taxe.code_annee = annee.code_annee AND entreprise.nom_ent like "'.$nom.'" AND offre.montant >= ".$_SESSION['montant']." ORDER BY ".$_SESSION['tri'].",".$_SESSION['sens']." LIMIT ".$premierMessageAafficher.",".$nombreDeMessagesParPage." "; echo "contenu de la requette: ".$query;
ça affiche quoi ?
zeckwam
Messages postés
49
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
13 avril 2013
2
9 juin 2010 à 17:50
9 juin 2010 à 17:50
ça n'affiche rien :
"contenu de la requete :
"
puis ça passe à la suite du code (le choix de la page, etc...)
"contenu de la requete :
"
puis ça passe à la suite du code (le choix de la page, etc...)
zeckwam
Messages postés
49
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
13 avril 2013
2
9 juin 2010 à 17:58
9 juin 2010 à 17:58
Ma journée de stage s'arrête là. Je vous remercie d'avoir essayer de m'aider. A demain j'espère, pour tenter de régler ce foutu problème...
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
9 juin 2010 à 17:58
9 juin 2010 à 17:58
donc la requette est VIDE !
fais un echo des variables qui la compose:
verifies aussi tes noms de table, de champs
fais un echo des variables qui la compose:
echo "Session_montant=".$_SESSION['montant']."<br />session tri=".$_SESSION['tri']."<br />session sens= ".$_SESSION['sens']."<br /> Premier message a afficher= ".$premierMessageAafficher."<br /> Nbr par page= ".$nombreDeMessagesParPage;
verifies aussi tes noms de table, de champs
zeckwam
Messages postés
49
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
13 avril 2013
2
9 juin 2010 à 18:02
9 juin 2010 à 18:02
Hum ça ça marche, ça me donne ce qui est censé être dans les variables.
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
9 juin 2010 à 18:33
9 juin 2010 à 18:33
//on va "surnommer" le nom des tables: entreprise -> Ent offre -> Off etc.. //verifies que les champs juste après SELECT sont bien dans les tables que j'ai mis //il y avait une erreur juste après LIKE inversion des ' et " //on va passer par la fonction escape string au cas ou il y aurait une apostrophe dans le nom ça l'e échappe en mettant un \ devant $query="SELECT Ent.nom_ent, Off.montant, Ent.secteur_taxe, An.anneesco FROM entreprise Ent, offre Off, taxe Tx, annee An WHERE Ent.code_ent = Off.code_ent AND Off.code_taxe = Tx.code_taxe AND Tx.code_annee = An.code_annee AND Ent.nom_ent LIKE '".mysql_real_escape_string($nom)."' AND Off.montant >= ".$_SESSION['montant']." ORDER BY ".$_SESSION['tri'].",".$_SESSION['sens']." LIMIT ".$premierMessageAafficher.",".$nombreDeMessagesParPage." "; echo "Texte de la requette: ".$query; //ça donnes quoi ?
zeckwam
Messages postés
49
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
13 avril 2013
2
10 juin 2010 à 09:16
10 juin 2010 à 09:16
Bonjour ! Merci de continuer à m'aider à trouver la solution !
Je viens de tester votre code, et encore une fois, ça n'affiche rien :
"Texte de la requete :
"
Puis la suite du code.
Je viens de tester votre code, et encore une fois, ça n'affiche rien :
"Texte de la requete :
"
Puis la suite du code.
ChrisCompote
Messages postés
73
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
19 juin 2010
8
10 juin 2010 à 21:43
10 juin 2010 à 21:43
Alain, pour moi ORDER BY ".$_SESSION['tri'].",".$_SESSION['sens'] est faux, d'apres le nom de variable, $_SESSION['sens'] c'est ASC ou DESC donc
ORDER BY champ ASC, tu as raison si il y a plusieurs champs c'est séparé par une virgule
ORDER BY champ ASC, tu as raison si il y a plusieurs champs c'est séparé par une virgule
zeckwam
Messages postés
49
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
13 avril 2013
2
11 juin 2010 à 09:06
11 juin 2010 à 09:06
Oui, $_SESSION['sens'] devient "ASC" ou "DESC"
zeckwam
Messages postés
49
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
13 avril 2013
2
10 juin 2010 à 09:26
10 juin 2010 à 09:26
Bizarrement, en rajoutant ça :
ça ne m'affiche pas d'erreur de requête, mais simplement "Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in C:\wamp\www\dbentreprise\entreprises.php on line 125"
(j'avais remis le résultat qui était censé opérer, que j'avais mis en commentaire). La ligne 125 est juste après la requête, c'est justement le résultat :
if (! $reponse) { echo ("Erreur requete".mysql_error()); }
ça ne m'affiche pas d'erreur de requête, mais simplement "Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in C:\wamp\www\dbentreprise\entreprises.php on line 125"
(j'avais remis le résultat qui était censé opérer, que j'avais mis en commentaire). La ligne 125 est juste après la requête, c'est justement le résultat :
while ($donnees = mysql_fetch_array($reponse)) {...}
ChrisCompote
Messages postés
73
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
19 juin 2010
8
10 juin 2010 à 21:54
10 juin 2010 à 21:54
Essayes aussi de remplacer les " par de '.
Essayes une requête écrite en dur d'un cas puis tu remplaces chaque valeur par la variable
Essayes une requête écrite en dur d'un cas puis tu remplaces chaque valeur par la variable
zeckwam
Messages postés
49
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
13 avril 2013
2
11 juin 2010 à 09:10
11 juin 2010 à 09:10
Raaah ! Je comprend pas... même en remplaçant les variables par des valeurs brutes ($_SESSION['sens'] par ASC, $_SESSION['tri'] par "nom_ent" etc) j'ai la même erreur. Ce qui veut dire que le problème ne vient pas de ma requête ?!
ChrisCompote
Messages postés
73
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
19 juin 2010
8
11 juin 2010 à 13:05
11 juin 2010 à 13:05
affiche ta requete.
De plus tu dois avoir
De plus tu dois avoir
$reponse = mysql_query($query); while($row = mysql_fetch_array($reponse)) { ... }
sapma
Messages postés
168
Date d'inscription
vendredi 20 novembre 2009
Statut
Membre
Dernière intervention
7 juin 2011
5
11 juin 2010 à 13:30
11 juin 2010 à 13:30
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in...
Tu peux stp écrire tout le message d'erreur ?
Tu peux stp écrire tout le message d'erreur ?
zeckwam
Messages postés
49
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
13 avril 2013
2
Modifié par zeckwam le 14/06/2010 à 09:09
Modifié par zeckwam le 14/06/2010 à 09:09
Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in C:\wamp\www\dbentreprise\entreprises.php on line 124
C'est plus le même, d'ailleurs !
C'est plus le même, d'ailleurs !
zeckwam
Messages postés
49
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
13 avril 2013
2
11 juin 2010 à 15:56
11 juin 2010 à 15:56
Merci de m'aider. Je suis en week-end pour le moment, et je ne peux pas emmener mon travail chez moi. Donc je testerais tout ça lundi matin. Encore merci !
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
12 juin 2010 à 21:09
12 juin 2010 à 21:09
Je reviens
ORDER BY ".$_SESSION['tri'].",".$_SESSION['sens']
effectivement si la 2 iéme variable contient ASC ou DESC dans ce cas il na faut pas les séparer par une virgule mais un espace
mais en un premier temps essayes en "racourcissant la requette pour voir à partir de quel endroit elle coince
si tu n'as toujours rien derriere "Texte de la requette", raccourcis jusqu'à ce que tu ai qq chose
ORDER BY ".$_SESSION['tri'].",".$_SESSION['sens']
effectivement si la 2 iéme variable contient ASC ou DESC dans ce cas il na faut pas les séparer par une virgule mais un espace
ORDER BY ".$_SESSION['tri']." ".$_SESSION['sens']
mais en un premier temps essayes en "racourcissant la requette pour voir à partir de quel endroit elle coince
$query="SELECT Ent.nom_ent, Off.montant, Ent.secteur_taxe, An.anneesco FROM entreprise Ent, offre Off, taxe Tx, annee An WHERE Ent.code_ent = Off.code_ent AND Off.code_taxe = Tx.code_taxe AND Tx.code_annee = An.code_annee AND Ent.nom_ent LIKE '".mysql_real_escape_string($nom)."' AND Off.montant >= ".$_SESSION['montant']." "; echo "Texte de la requette: ".$query; //ça donnes quoi ?
si tu n'as toujours rien derriere "Texte de la requette", raccourcis jusqu'à ce que tu ai qq chose
zeckwam
Messages postés
49
Date d'inscription
vendredi 18 avril 2008
Statut
Membre
Dernière intervention
13 avril 2013
2
14 juin 2010 à 09:34
14 juin 2010 à 09:34
J'ai repris ma requête a zéro, comme tu me l'a conseillé, je suis parti de
et j'ai ajouté la suite petit a petit, et Oh MIRACLE !!! ça maaaaaaaarche !!! :D
Donc voilà ma requête de base :
Telle que je vous l'avais donnée tout au début de ce post ; et voici ma requête finale, qui fonctionne :
(dont j'ai modifier un petit paquet d'appellations, et autres noms de variables, tout au long de la résolution du problème)
Un grand merci a tout ceux qui m'ont aidés, et je vous souhaites une excellente journée (la mienne commence plutôt bien !!)
A bientot, et merci encore !
"SELECT nom_ent FROM entreprise");
et j'ai ajouté la suite petit a petit, et Oh MIRACLE !!! ça maaaaaaaarche !!! :D
Donc voilà ma requête de base :
$reponse = mysql_query(' SELECT nom_ent, adresse_ent, nom_ville, cp_ent FROM entreprise, ville WHERE entreprise.code_ville = ville.code_ville AND entreprise.nom_ent like "' . $_SESSION['lettre'] . '%" ORDER BY ' . $_SESSION['tri'] . $_SESSION['sens'] . ' LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage );
Telle que je vous l'avais donnée tout au début de ce post ; et voici ma requête finale, qui fonctionne :
$query = mysql_query(" SELECT nom_ent, adresse_ent, nom_ville, cp_ent FROM entreprise, ville WHERE entreprise.code_ville = ville.code_ville AND entreprise.nom_ent LIKE '".$_SESSION['lettre']."%' ORDER BY ".$_SESSION['trier']." ".$_SESSION['ordre']." LIMIT ".$premierMessageAafficher.",".$nombreDeMessagesParPage." ");
(dont j'ai modifier un petit paquet d'appellations, et autres noms de variables, tout au long de la résolution du problème)
Un grand merci a tout ceux qui m'ont aidés, et je vous souhaites une excellente journée (la mienne commence plutôt bien !!)
A bientot, et merci encore !
ChrisCompote
Messages postés
73
Date d'inscription
mardi 8 juin 2010
Statut
Membre
Dernière intervention
19 juin 2010
8
15 juin 2010 à 15:38
15 juin 2010 à 15:38
De rien