首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >全文搜索2个表

全文搜索2个表
EN

Stack Overflow用户
提问于 2011-06-29 11:14:42
回答 1查看 196关注 0票数 0

我有两张桌子。一个存储视频信息,另一个存储与该视频相关的标签。它们共享公共字段vid_id。我正在尝试全文搜索两个表中的匹配项。目标是如果两个表中都有匹配项,则从视频中收集具有该vid_id的所有字段。

问题是我的查询在使用Call to undefined method PDOConnectionFactory::errorInfo()时会崩溃。它应该返回一行,因为在name field = test的标记中有一个条目。有谁有什么想法吗?我已经在这个问题上挣扎了一段时间。

代码语言:javascript
运行
复制
CREATE TABLE IF NOT EXISTS `tags` (
  `id` varchar(35) NOT NULL,
  `vid_id` varchar(35) NOT NULL,
  `name` varchar(45) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  UNIQUE KEY `vid_id` (`vid_id`,`name`),
  FULLTEXT KEY `name` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `video` (
  `timestamp` int(11) NOT NULL,
  `vid_id` varchar(32) NOT NULL,
  `file_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `uploader` varchar(55) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `title` varchar(30) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `subject_id` int(1) NOT NULL,
  FULLTEXT KEY `title` (`title`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

$sql = "SELECT video.*
  MATCH(video.title) AGAINST('?') as cscore, 
  MATCH(tags.name) AGAINST('?') as htscore
FROM video
LEFT JOIN tags ON video.vid_id=tags.vid_id
WHERE
  MATCH(video.title) AGAINST('?') OR
  MATCH(tags.name) AGAINST('?')
ORDER BY cscore DESC;";
$stmt4 = $conn->prepare($sql);
$result=$stmt4->execute(array('test','test','test','test')) or die(print_r($db->errorInfo(), true));
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-29 12:42:21

问题是在SQL查询中,SELECT video.*后面缺少逗号(,)。

工作示例:

代码语言:javascript
运行
复制
SELECT video.*,
  MATCH(video.title) AGAINST('?') as cscore, 
  MATCH(tags.name) AGAINST('?') as htscore
FROM video
LEFT JOIN tags ON video.vid_id=tags.vid_id
WHERE
  MATCH(video.title) AGAINST('?') OR
  MATCH(tags.name) AGAINST('?')
ORDER BY cscore DESC;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6515376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档