Cet article présente principalement les informations pertinentes sur la méthode de récupération de texte intégral MySQL et un exemple de code. Les amis qui en ont besoin peuvent s'y référer
Méthode de récupération de texte intégral MySQL en chinois
à « rechercher le chinois dans la base de données » sont requis récemment par le projet de l'entreprise
Exemple de code :
<?php /* mysql全文检索中文解决方案! */ error_reporting(E_ERROR | E_WARNING | E_PARSE); ini_set('display_errors', '1'); //数据库支持 class SaeMysql{ //phpmysql操作类 } $DBS=new SaeMysql; //数据加入 echo '2'; /*创建数据表*/ $DBS->runSql('CREATE TABLE IF NOT EXISTS `ces_articles` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT \'\', `url` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, PRIMARY KEY (`id`), FULLTEXT KEY `url` (`url`) ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC'); /*数据加入*/ $title='我爱大家啊,大家好'; $DBS->runSql('INSERT INTO `ces_articles` (id,title,url) VALUES (0,\''. $title.'\',\''.str_replace('\u','u',trim(json_encode($title))).'\')'); $title='中国是什么'; $DBS->runSql('INSERT INTO `ces_articles` (id,title,url) VALUES (0,\''. $title.'\',\''.str_replace('\u','u',trim(json_encode($title))).'\')'); $title='http://ask.1912news.com'; $DBS->runSql('INSERT INTO `ces_articles` (id,title,url) VALUES (0,\''. $title.'\',\''.str_replace('\u','u',trim(json_encode($title))).'\')'); $title='问答系统'; $DBS->runSql('INSERT INTO `ces_articles` (id,title,url) VALUES (0,\''. $title.'\',\''.str_replace('\u','u',trim(json_encode($title))).'\')'); $title='1912网'; $DBS->runSql('INSERT INTO `ces_articles` (id,title,url) VALUES (0,\''. $title.'\',\''.str_replace('\u','u',trim(json_encode($title))).'\')'); $title='零九网络'; $DBS->runSql('INSERT INTO `ces_articles` (id,title,url) VALUES (0,\''. $title.'\',\''.str_replace('\u','u',trim(json_encode($title))).'\')'); //搜索: $_GET['q']="中国"; echo 'q'; if(isset($_GET['q'])){$sql=' match(url) against (\''.str_replace('\u','u',trim(json_encode($_GET['q']))).'\' IN BOOLEAN MODE)';} $query = $DBS->getData('SELECT * FROM `ces_articles` where '.$sql.' LIMIT 10'); echo 'q'; if($query){ foreach ($query as $article){ echo $article['id']; } } ?>