如何在不更改查询值的情况下进行sql查询?

时间:2015-12-17 08:17:02

标签: php mysql

所以我知道这个问题听起来很奇怪,但我不知道如何形容它。让我演示给你看。

我有一个页面index.php,其中包含:

<a ref="videos/vid.php?id=' . $tag["video_tag"] .'">

我的数据库中的$tag["video_tag"]是一个类别,并分配了一个值,例如3

现在在我的另一页上,当有人点击一个href时,会加载videos.php。 此时,我的查询通过将类别值3与videos.video_tag_id匹配来拉出正确的视频(应该这样做)但是!它会更改视频的ID。这就是这个查询发生的事情,因为我检查元素并在所有视频上查看id=3

此查询正在提取正确的视频,但会在页面上列出视频时更改视频的实际ID

有点像netflix匹配&#34; show-1&#34;到另外六个&#34; show2-6&#34;但你不能加载&#34; shows2-6&#34;因为唯一的id都是一样的。查询正在改变,我不知道如何解决它。

$sql = 'SELECT * FROM videos,category WHERE videos.video_tag_id = category.video_tag AND videos.video_tag_id = ' . $categoryId . ' ORDER BY RAND() LIMIT 6';

谢谢

1 个答案:

答案 0 :(得分:0)

分享您的表格结构。我想,在你的查询中,类别表和视频表的id字段是不明确的。尝试为您的字段名称添加别名。

$sql = "SELECT v.*,c.*,v.id as video_id FROM videos v left join category c ON v.video_tag_id = c.video_tag where v.video_tag_id = " . $categoryId . " ORDER BY RAND() LIMIT 6";

试试这个。