Bonjour,

Je développe un formulaire de recherche multi-critères. Pour cela je concatène une variable $argument, suivant les critères de recherche choisis par l'utilisateur, que je concatène en final à un SELECT. Pour l'instant tous les critères de recherche fonctionnent (pays, age, etc..), mais j'ai un souci pour les régions.

Je cherche une "id_region" qui contient la variable "$id_region" dans son nom, avec éventuellement d'autres caractères avant ou après. "id_region" est de type VARCHAR, "$id_region" est un caractère (a, ou b, ou c,etc).

J'ai donc fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$argument .= ' AND id_region LIKE %'.$id_region.'%';
Mais ça me génère une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Erreur MySQL : 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 '%a%'
Pour ce message d'erreur j'avais choisi comme critère de recherche les "id_region" qui ont un "a" dans leur nom.

J'ai fait un echo de mon SELECT final :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT id_membre FROM identification WHERE actif = 1 AND id_pays = 2 AND id_region LIKE %a%
Dans ce cas précis je cherche à sélectionner les membres actifs dont les "id_region" contiennent le caractère 'a'. id_pays = 2 correspond à la France.

Apparemment il y a un problème de syntaxe, mais je ne vois pas ou.

Merci de votre aide.