Erreur de requête introuvable
Résolu
zeckwam
Messages postés
49
Date d'inscription
Statut
Membre
Dernière intervention
-
ChrisCompote Messages postés 73 Date d'inscription Statut Membre Dernière intervention -
ChrisCompote Messages postés 73 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Erreur de requête introuvable
- Erreur 0x80070643 - Accueil - Windows
- Corriger l'erreur 0x80070643 de la mise à jour KB5034441 de Windows 10 - Accueil - Windows
- Supprimer fichier introuvable - Guide
- Iptv erreur de lecture - Forum TV & Vidéo
- Java code erreur 1603 ✓ - Forum Windows
13 réponses
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']
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'] . '
a mon avis c'est une virgule qu'il faut entre $_SESSION['tri'] et $_SESSION['sens']
ORDER BY '.$_SESSION['tri'].','.$_SESSION['sens'].'
Arf, ni la virgule ni l'espace ne fonctionnent :s
$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);
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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());
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
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 ?
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
//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 ?
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)) {...}
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
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 ?
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 !
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
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 !