Pb avec Where

Résolu
ced_m22 Messages postés 4 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 6 avril 2006 - 6 avril 2006 à 17:14
ced_m22 Messages postés 4 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 6 avril 2006 - 6 avril 2006 à 22:19
Bonjour
voila je veux executer une selection multi criteres, le pb c qu avec une donnee ca marche, mais pas avec plusieurs.

........
$chambre=$_POST['chambres'];
$lieu=$_POST['lieu'];
$type=$_POST['type'];
...

$select = 'select * FROM annonces WHERE NbPiece='.$_POST['chambres'].' OR Lieu='.$_POST['lieu'].'';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );


while($data=mysql_fetch_array($result))
{
echo'Nb pieces, Type, Lieu, ';
echo'----
'.$data['NbPiece'].', '.$data['Type'].', '.$data['Lieu'].', ';
echo '
';
}
mysql_close();
?>

en effectuant la recherche uniquement sur le '.$_POST['chambres']. , ca marche alors que quand je fais des test sur le Lieu='.$_POST['lieu']. , il me met une erreur
Erreur: Champ ' jonquiere' inconnu dans where clause.

(jonquiere etant la reponse de $_POST['lieu']. , et pas le champ)
Pourtant le Champ Lieu existe, povez vous me dire pourquoi cette erreur , et pourquoi ca marche avec .$_POST['chambres']. et pas avec $_POST['lieu'].
Merci beaucoup de votre aide

7 réponses

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
6 avril 2006 à 20:59
Essaye autrement :
$select "SELECT * FROM annonces WHERE nbPiece '".mysql_real_escape_string($_POST['chambres'])."' OR Lieu = '".mysql_real_escape_string($_POST['lieu'])."' ";

Normalement, c'est la gestion des appostrophes qui posent problème !
3
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
6 avril 2006 à 17:22
salut

$select = "select * FROM annonces WHERE
NbPiece='$chambres'
OR Lieu='$lieu' ";
0
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
6 avril 2006 à 17:31
Dans ce genre de situation, pense toujours à faire un echo de ta requête avant de l'envoyer dans mysql_query(). Tu verras alors beaucoup mieux où peut être ton problème.




Manu
0
ced_m22 Messages postés 4 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 6 avril 2006
6 avril 2006 à 18:31
Merci sidf, mais j ai deja essaye, mais il me marque une erreur, si je le fais comme tu m as dit.
j ai reesaye, et tjs erreur.

Manu je l ai fait

$chambre=$_POST['chambres'];
$lieu=$_POST['lieu'];
$type=$_POST['type'];
echo $lieu;
echo $chambres;

le resultat est 3jonquiere Erreur: Champ 'jonquiere' inconnu dans where clause.

Pourtant jonquiere n est pas le champ, mais bien la variable...
Je ne sais pas se qu il se passe. si qq un a deja eu ce probleme, dites moi ce qu il l'a regle
Merci
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
6 avril 2006 à 18:53
Normal ... doit y avoir un appostrophe dans $_POST['chambre]

$select = 'select * FROM annonces WHERE NbPiece='.mysql_real_escape_string(
_POST['chambres']).' OR Lieu='.mysql_real_escape_string($_POST['lieu']).' ';
0
ced_m22 Messages postés 4 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 6 avril 2006
6 avril 2006 à 19:03
Il y a un apostrophe dans $_POST['chambres'];
j ai essaye ton code.
tjs pareil.
mais pourquoi dans la requete, il prend la variable correctement, et l autre en tant que champ?
0
ced_m22 Messages postés 4 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 6 avril 2006
6 avril 2006 à 22:19
Merci beaucoup je ne pensait pas m'en sortir
0
Rejoignez-nous