Erreur MySQL?

Résolu
Signaler
Messages postés
5
Date d'inscription
mercredi 7 décembre 2005
Statut
Membre
Dernière intervention
5 février 2006
-
Messages postés
5
Date d'inscription
mercredi 7 décembre 2005
Statut
Membre
Dernière intervention
5 février 2006
-
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

Messages postés
5
Date d'inscription
mercredi 7 décembre 2005
Statut
Membre
Dernière intervention
5 février 2006

J'ai trouvé mon erreur,
C'est au niveau de la requete SQL, je n'avait pas "select" les éléments de "where".
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
$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; ??
Messages postés
1216
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
5
$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 ?
Messages postés
5
Date d'inscription
mercredi 7 décembre 2005
Statut
Membre
Dernière intervention
5 février 2006

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.
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
4
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 :)
Messages postés
5
Date d'inscription
mercredi 7 décembre 2005
Statut
Membre
Dernière intervention
5 février 2006

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é.