REGEX avec variable [Résolu]

Signaler
Messages postés
2
Date d'inscription
lundi 22 mars 2010
Statut
Membre
Dernière intervention
16 septembre 2010
-
Zaafiel
Messages postés
2
Date d'inscription
lundi 22 mars 2010
Statut
Membre
Dernière intervention
16 septembre 2010
-
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...

2 réponses

Messages postés
2
Date d'inscription
lundi 22 mars 2010
Statut
Membre
Dernière intervention
16 septembre 2010

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
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
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