REGEX avec variable [Résolu]

Messages postés
2
Date d'inscription
lundi 22 mars 2010
Dernière intervention
16 septembre 2010
- - Dernière réponse : Zaafiel
Messages postés
2
Date d'inscription
lundi 22 mars 2010
Dernière intervention
16 septembre 2010
- 16 sept. 2010 à 10:33
Bonjour,

Je voudrai créer une regex utilisant une varible php.
Pour ne pas me perdre dans des explications, voici le code:

$lastname = sql_regcase(strip_tags($_POST['lastname']));
$firstname = sql_regcase(strip_tags($_POST['firstname']));

$seek = $bdd->prepare('SELECT lastname, firstname FROM data_person WHERE lastname LIKE :lastname OR firstname LIKE :firstname
ORDER BY lastname ASC');
$seek->execute(array('lastname' => $lastname, 'firstname' => $firstname));


A la place de LIKE :lastname et LIKE :firstname, je voudrais mettre une REGEX pour que la requête sorte tous les résultats commençant par l'entrée de l'utilisateur :

REGEXP \'[[:<:]]:lastname[[:>:]]\' ou bien
REGEXP \'[[:<:]]?[[:>:]]\' si j'enlève le tableau associatif, ou bien
REGEXP \'[[:<:]]' . $lastname . '[[:>:]]\' si je fais une requête non préparée.

Si vous avez des pistes ou LA solution, n'hésitez pas...
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
2
Date d'inscription
lundi 22 mars 2010
Dernière intervention
16 septembre 2010
3
Merci
C'est bon en fait, j'ai fais plus simplement, sans utiliser de regex.

Il me suffisais d'utiliser un bon vieux LIKE :

LIKE (\'' . $variable . '%\')

Merci quand même

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 110 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Zaafiel
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
60
0
Merci
pourquoi vouloir supprimer les parametres ? ca evite un certain nombre de soucis (injection, etc.)

surtout si ca fonctionne actuellement...

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Commenter la réponse de Renfield

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.