J'essaye d'écrire une expression regex dans mysql d'un programme de Perl. Je veux avoir la requête comme celle-ci:Pourquoi ma variable ne interpole pas correctement lorsque je crée une requête Mysql?
WHERE a.keywords REGEXP '[[:<:]]something[[:>:]]'
Cependant, en Perl quand je fais cette requête, je reçois erreur lorsque concaténer:
for($i=0;$i<$count;$i++){
$where = $where . "'[[:<:]]$andkeywords[$i][[:>:]]' "; #errors
Où que cela ne me donne pas une erreur:
for($i=0;$i<$count;$i++){
$where = $where . "'[[:<:]] $andkeywords[$i] [[:>:]]' "; #no error
Dans le code 'aucune erreur', notez qu'il y a des espaces supplémentaires. Mais si j'ai des espaces supplémentaires, je ne reçois pas les résultats que je veux parce que dans la DB il n'y a pas d'espaces supplémentaires.
Il est toujours utile d'inclure les erreurs dans votre message. :) –