Erreur MySQL?

Résolu
taint1 Messages postés 5 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 5 février 2006 - 5 févr. 2006 à 17:48
taint1 Messages postés 5 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 5 février 2006 - 5 févr. 2006 à 18:34
Bonjour à tous,
J'ai une erreur dans mon programme et je n'aarive pas a comprendre pourquoi.

<?php //debut instruction PHP
include('connexion.php'); //appel de la page php connexion permettant de se connecter et de selectionner la base de données

$rq1= "select type
from fiche F, activite A, lieu L
where F.numero_fiche=L.numero_fiche
and L.numero_activite=A.numero_activite
and code_postal like "".$_POST['departement']."%"";


$rq="select F.numero_fiche, F.numero_entreprise, raison_sociale, code_postal, ville, annee, numero_cd, repertoire, titre_rapport, resume
from fiche F, entreprise E, activite A, lieu L
where F.numero_entreprise=E.numero_entreprise
and F.numero_fiche=L.numero_fiche
and L.numero_activite=A.numero_activite
and code_postal like "".$_POST['departement']."%" ";
$reponse = mysql_query($rq); // Requête SQL
$reponse1 = mysql_query($rq1);



if (!$reponse) {
echo 'Impossible d\'exécuter la requête : ' . mysql_error();
exit;
}
if (isset($_POST['departement'])) // On vérifie si le visiteur a déjà choisi un département
{
echo 'Le département choisi est le ' . htmlentities($_POST['departement']) . '

';
}


// On fait une boucle pour lister tout ce que contient la table :
$donnees=mysql_fetch_array($reponse);
$donnees1 = mysql_fetch_array($reponse1); //l'erreur serait ici mais je ne voit pas pourquoi.


while ($donnees)
{
echo ' Fiche Numero : ' . $donnees[0].'' ;
echo ' Titre du rapport : ' . $donnees[8].'
';
echo ' Raison sociale de l entreprise est : ' . $donnees[2].' ' ;
echo ' Ville : ' . $donnees[4].' ' ;
echo ' Code postal : ' . $donnees[3].' ' ;
echo ' Année du stage : ' . $donnees[5].' ' ;
echo ' Activité : ';
while ($donnees1) {echo '' .$donnees1[0]. ', ' ;}; //la variable intervient ici
echo ' Le rapport de stage se trouve sur le cd ' . $donnees[6].'';
echo ' et son répertoire est ' . $donnees[7].' ';
echo ' Résumé :' . $donnees[9].' ';
echo ' <hr />';
$donnees =mysql_fetch_row($reponse);
}
?>

L'erreur affichée est:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\fichedep1.php on line 35

Je remercie d'avance la personne qui m'aidera a solutionner ce problème. Si il y a des questions n'hésité pas.
Salutations

6 réponses

taint1 Messages postés 5 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 5 février 2006
5 févr. 2006 à 18:34
J'ai trouvé mon erreur,
C'est au niveau de la requete SQL, je n'avait pas "select" les éléments de "where".
3
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
5 févr. 2006 à 17:55
$rq1= "select type

from fiche F , activite A, lieu L

where F.numero_fiche =L.numero_fiche

and L.numero_activite=A.numero_activite

and code_postal like "".$_POST['departement']."%"";



il y a vraiment des espaces ??

c'est peut etre la qu'est le pb . qu'est ce que dit un

echo $rq1; ??
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
5 févr. 2006 à 18:02
$DP=$_POST['departement'];



$rq1="select type

from fiche F, activite A, lieu L

where F.numero_fiche=L.numero_fiche

and L.numero_activite=A.numero_activite

and code_postal like ' ".$DP."%' ";



peut etre un probleme de quotes ?
0
taint1 Messages postés 5 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 5 février 2006
5 févr. 2006 à 18:08
Non l'erreur n'a pas l air de venir de là. Je n'ai pas précisé mais pour $rq cela fonctionne alors qu'il y a très peu de différences.
0

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

Posez votre question
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
5 févr. 2006 à 18:15
Quand tu éxécutes une requète SQL ==> or die( mysql_error() ); et ca t'affiche l'erreur !

"select type
from fiche F, activite A, lieu L
where F.numero_fiche=L.numero_fiche
and L.numero_activite=A.numero_activite
and code_postal like "".$_POST['departement']."%"";"
Type mais dans quelle table ???

"$donnees=mysql_fetch_array($reponse);
$donnees1 = mysql_fetch_array($reponse1); //l'erreur serait ici mais je ne voit pas pourquoi. while ($donnees) "

C'est pas comme ca qu'on fait...
while ( $donnees = mysql_fetch_array($reponse) ) {
//
}

Si tu lis pas la doc, c'est normal que tu fasses n'importe quoi :)
0
taint1 Messages postés 5 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 5 février 2006
5 févr. 2006 à 18:24
type se trouve dans la classe activité mais il n'y a pas d'ambiguité avec les autres classes.
La syntaxe que tu me propose revient au meme résultat, cela déplace juste le problème dans la partie affichage.
merci qaund meme d avoir essayé.
0