Problème non résolu : Simple requête sql avec clause where
amewole
Messages postés108Date d'inscriptionjeudi 23 mars 2006StatutMembreDernière intervention28 février 2013
-
28 avril 2006 à 15:42
amewole
Messages postés108Date d'inscriptionjeudi 23 mars 2006StatutMembreDernière intervention28 février 2013
-
28 avril 2006 à 19:15
En suivant votre modèle j'ai fait ma requête mais elle ne marche pas !!!
Voici la requête réelle :
$query = 'SELECT image_id, image_nom, image_desc1, image_vignette, image_photo, image_adresse, piece, xusage, type_bien
FROM images
'.((isset($piece))?' WHERE piece = '.$piece:'').
((isset($type_bien))?(isset($piece)?' AND ': ' WHERE ')' type_bien = '.$type_bien:'').
((isset($xusage))?(isset($piece.$piece)? ' AND ': ' WHERE ')' xusage = '.$xusage:'') ;
Par ailleurs voici aussi ma reqête originale :
$query = 'SELECT image_id, image_nom, image_desc1, image_vignette, image_photo, image_adresse, piece, xusage, type_bien
FROM images
WHERE
piece = $piece AND
type_bien = $type_bien AND
xusage = $xusage ' ;
Merci d'avance.
A voir également:
Problème non résolu : Simple requête sql avec clause where
amewole
Messages postés108Date d'inscriptionjeudi 23 mars 2006StatutMembreDernière intervention28 février 2013 28 avril 2006 à 16:42
Le problème n'est pas une simple affaire de guillemet ou de double cote mais c'est un peu plus complexe ..
Dans la clause where il s'agit de faire en sorte même les variables $piece, $type_bien, $xusage ne provoquent pas des erreurs sql si elles ne sont pas renseignées d'ou l'usage des expressions du genre :
'.((isset($piece))?' WHERE piece = '.$piece:''). ....
En faisant ceci simplement comme ceci ça marche si $piece, $type_bien , $xusage sont bien renseignées sinon ce sont des erreurs sql ...
$query = "SELECT image_id, image_nom, image_desc1, image_vignette, image_photo, image_adresse, piece, xusage, type_bien
FROM images
WHERE
piece = $piece AND
type_bien = $type_bien AND
xusage = $xusage ";