REGEX avec variable [Résolu]

Zaafiel 2 Messages postés lundi 22 mars 2010Date d'inscription 16 septembre 2010 Dernière intervention - 14 sept. 2010 à 10:35 - Dernière réponse : Zaafiel 2 Messages postés lundi 22 mars 2010Date d'inscription 16 septembre 2010 Dernière intervention
- 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
Zaafiel 2 Messages postés lundi 22 mars 2010Date d'inscription 16 septembre 2010 Dernière intervention - 16 sept. 2010 à 10:33
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

Merci Zaafiel 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de Zaafiel
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 15 sept. 2010 à 16:57
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.