Aller au contenu

REGEXP dans une clause WHERE


Sujets conseillés

Posté

Bonjour

J'essaye d'extraire d'une table tous les enregistrements dont un des champs contient une url spécifique.

Elles sont du type

www.example.com/forum/viewtopic?t=1234

www.example.com/forum/viewtopic?t=123

www.example.com/forum/viewtopic?t=12

www.example.com/forum/viewtopic?t=1

La table

CREATE TABLE `phpbb_posts_text` (
`post_id` mediumint(8) unsigned NOT NULL default '0',
`bbcode_uid` varchar(10) NOT NULL default '',
`post_subject` varchar(60) default NULL,
`post_text` text,
PRIMARY KEY (`post_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Les 'www.example.com/forum/viewtopic?t=1234' sont dans le champs `post_text`

Si je fais (dans phpmyadmin)

Select post_id from phpbb_posts_text  WHERE  post_text  REGEXP 'viewtopic.php'

Aucun probleme, j'ai toutes les id_post

par contre, si je fais

Select post_id from phpbb_posts_text  WHERE  post_text  REGEXP 'viewtopic.php\?'

ou

Select post_id from phpbb_posts_text  WHERE  post_text  REGEXP 'viewtopic.php\?[0-9]{4}'

François

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...