Select Variables sous conditions qu'elles ne soient pas nulls

[Résolu/Fermé]
Signaler
-
Messages postés
5698
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
19 août 2021
-
Bonjour,





j'ai créé un formulaire dont les paramètres a,b, et c sont renvoyés vers une page php pour affichage et traitement....

ces paramètres sont des champs dans une table d'une base de données SQL.

Je bloque sur le point suivant :

j'écris la requête suivante : select a,b,c from ma_table ;


parfois la variable a par exemple est null (car dans le formulaire on ne la pas cochée ) et dans ce cas j'ai l'erreur

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'b,c FROM ma_table' at line 1

je souhaite exécuter la requête seulement si les variables sont non nul, y a une fonction spéciale pour ca ???

plus concretement : select a,b,c from ma_table ; devient select b,c from ma_table ; si a est NULL ! je ne sais pas si ca existe ?!

j'ai essayé de faire if (isset($_POST['ref']))
{ $ref = $_POST['ref']; }

dans ce cas aussi j'ai une erreur.

Avez vous une idée ??

merci

1 réponse

Messages postés
5698
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
19 août 2021
1 208
Bonjour,
Ca n'a rien à voir avec la nullité possible de a. Je pense que ça doit être le nom du champs qui ne doit pas être conforme avec les standards. Comment s'appelle le champ a ? type ? order ?
Bonjour,

l'erreur provenait d'un virgule parasite.

plus concretement : select a,b,c from table si a est nulle la requette devient select ,b,c from table

d'ou l'ereur du à la virgule avant le b !

j'ai résolu le problème en passant par des tableaux.
Messages postés
5698
Date d'inscription
lundi 16 janvier 2012
Statut
Contributeur
Dernière intervention
19 août 2021
1 208
Ah je n'avais pas compris que a, b et c étaient des variables et nom des champs rentrés à la main dans le select. Effectivement, il fallait passer par un tableau avec un join avec des virgules.