mysql 全文检索中文解决方法及实例代码
时间:2020-11-03 13:28 作者:admin
mysql/' target='_blank'>mysql 全文检索中文解决方法
最近公司项目要求这样的功能,在数据库中检索中文,很是棘手,上网查询下资料,找的类似文章,这里及记录下,希望能帮助到大家,
实例代码:
<?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'];}}?>
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
(责任编辑:admin)