regexp et blob

Eléphant du PHP | 100 Messages

29 janv. 2008, 09:28

Bonjour, jai une requête que je n'arrive pas à faire fonctionner

Code : Tout sélectionner

$result = $db->sql_query(" select t.topic_id, t.forum_id, t.poster_id, t.post_time, t.post_subject, t.post_text, u.username from phpbb_posts t, phpbb_users u where t.post_text REGEXP '\[tag\][a-zA-Z0-9_-]+\[\/tag\]' and t.poster_id = u.user_id order by t.post_time desc limit 0,10 ");
Mon problème se trouve dans cette ligne mais je ne trouve pas la solution

Code : Tout sélectionner

where t.post_text REGEXP '\[tag\][a-zA-Z0-9_-]+\[\/tag\]'
à noter que la colonne post_text est de type blob

Merci de votre aide


structure de ma table

Code : Tout sélectionner

CREATE TABLE `phpbb_posts` ( `post_id` mediumint(8) unsigned NOT NULL auto_increment, `topic_id` mediumint(8) unsigned NOT NULL default '0', `forum_id` mediumint(8) unsigned NOT NULL default '0', `poster_id` mediumint(8) unsigned NOT NULL default '0', `icon_id` mediumint(8) unsigned NOT NULL default '0', `poster_ip` varchar(40) collate utf8_bin NOT NULL default '', `post_time` int(11) unsigned NOT NULL default '0', `post_approved` tinyint(1) unsigned NOT NULL default '1', `post_reported` tinyint(1) unsigned NOT NULL default '0', `enable_bbcode` tinyint(1) unsigned NOT NULL default '1', `enable_smilies` tinyint(1) unsigned NOT NULL default '1', `enable_magic_url` tinyint(1) unsigned NOT NULL default '1', `enable_sig` tinyint(1) unsigned NOT NULL default '1', `post_username` varchar(255) collate utf8_bin NOT NULL default '', `post_subject` varchar(100) character set utf8 collate utf8_unicode_ci NOT NULL default '', `post_text` mediumtext collate utf8_bin NOT NULL, `post_checksum` varchar(32) collate utf8_bin NOT NULL default '', `post_attachment` tinyint(1) unsigned NOT NULL default '0', `bbcode_bitfield` varchar(255) collate utf8_bin NOT NULL default '', `bbcode_uid` varchar(8) collate utf8_bin NOT NULL default '', `post_postcount` tinyint(1) unsigned NOT NULL default '1', `post_edit_time` int(11) unsigned NOT NULL default '0', `post_edit_reason` varchar(255) collate utf8_bin NOT NULL default '', `post_edit_user` mediumint(8) unsigned NOT NULL default '0', `post_edit_count` smallint(4) unsigned NOT NULL default '0', `post_edit_locked` tinyint(1) unsigned NOT NULL default '0', PRIMARY KEY (`post_id`), KEY `forum_id` (`forum_id`), KEY `topic_id` (`topic_id`), KEY `poster_ip` (`poster_ip`), KEY `poster_id` (`poster_id`), KEY `post_approved` (`post_approved`), KEY `tid_post_time` (`topic_id`,`post_time`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=143 ;

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

30 janv. 2008, 16:35

jai une requête que je n'arrive pas à faire fonctionner
Si elle ne fonctionne pas, quelle est le message d'erreur ? Et si elle fonctionne mais ne donne pas le résultat escompté, quelles sont les différences entre le résultat obtenu et le résultat escompté, sous et quelles conditions ?

Au passage, échappe tes caractères d'échappement : pour chaque \ que tu veux utiliser il te faut en écrire deux, \\