bug PHP/mysql
Posté : 07 sept. 2013, 14:39
bonjour tout le monde,
bon le problème que j'ai et que, mon formulaire contient les deux champs num_intervention et demandeur ma petite application doit faire une recherche dans la base de données suivant les données entrées par l'utilisateur, or l'utilisateur peut remplir les deux champs ou bien remplir qu'un seul, donc le AND va pas me donner le résultat que j'attend lorsqu'un des champs de saisi dans le formulaire n'est pas rempli.
j'ai essayer ce code:
$sql_one="select * from intervention_logiciel";
$where_one='';
if ($num_intervention>0){$where_one=" WHERE num_intervention=$num_intervention ";}
if (strlen($demandeur)>0){$where_one="AND demandeur='$demandeur' ";}
if (substr($where_one,0,3)==='AND'){$where_one=str_replace('AND','WHERE',$where_one);}
$result=mysql_query($sql_one.$where_one) or die(mysql_error());
mais le problème que, quand je laisse le champs demandeur vide et je fait ma recherche juste avec le champs num_intervention,, ça marche. mais au contraire quand j'essaye de faire une recherche en utilisant le champs demandeur, ou bien en utilisant les deux champs, ca marche pas, et ca m'affiche:
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 '='john'' at line 1.
merci d'avance
bon le problème que j'ai et que, mon formulaire contient les deux champs num_intervention et demandeur ma petite application doit faire une recherche dans la base de données suivant les données entrées par l'utilisateur, or l'utilisateur peut remplir les deux champs ou bien remplir qu'un seul, donc le AND va pas me donner le résultat que j'attend lorsqu'un des champs de saisi dans le formulaire n'est pas rempli.
j'ai essayer ce code:
$sql_one="select * from intervention_logiciel";
$where_one='';
if ($num_intervention>0){$where_one=" WHERE num_intervention=$num_intervention ";}
if (strlen($demandeur)>0){$where_one="AND demandeur='$demandeur' ";}
if (substr($where_one,0,3)==='AND'){$where_one=str_replace('AND','WHERE',$where_one);}
$result=mysql_query($sql_one.$where_one) or die(mysql_error());
mais le problème que, quand je laisse le champs demandeur vide et je fait ma recherche juste avec le champs num_intervention,, ça marche. mais au contraire quand j'essaye de faire une recherche en utilisant le champs demandeur, ou bien en utilisant les deux champs, ca marche pas, et ca m'affiche:
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 '='john'' at line 1.
merci d'avance