php - 如何在不改变查询中的值的情况下进行sql查询?

标签 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 将“show-1”与其他六个“show2-6”相匹配,但您无法加载“shows2-6”,因为唯一的 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';

谢谢

最佳答案

分享您的表结构。我认为,在您的查询中,类别表和视频表的 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";

试试这个。

关于php - 如何在不改变查询中的值的情况下进行sql查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34329688/

相关文章:

php - Facebook Graph API 获取公共(public)页面的公共(public)帖子

php - 现代 PHP 哈希算法

php - 如何按类别显示数据库中的数据?

php - 使用 Codeigniter 闭包表显示分层数据

php - 如何使用 bash 脚本在 MySQL 中赋值

php - MySQL/CodeIgniter 列的多个值

php - PHP解析/语法错误;以及如何解决它们

javascript - 将 javascript 数据存储到 PHP session 变量中?

javascript - 将值插入到从数据库中选择的 html

mysql - 如何用mysql查询结果显示序列号?