$query = 'SELECT newsvid.id, ...... videoinformation.imgShot3, videomain.vidMUrl FROM newsvid, videomain, videoinformation WHERE newsvid.id = ' . $video_id . 'videoinformation.id =' . $video_id . ' newsvid.id = ' . $video_id;
问题是没有想法如何使这一点工作:
WHERE newsvid.id = ' . $video_id . 'videoinformation.id =' . $video_id . ' newsvid.id = ' . $video_id;
主要问题是此后
WHERE newsvid.id = ' . $video_id
没有什么工作,所以它是新闻vid.id = 1但这一点
. 'videoinformation.id =' . $video_id . ' newsvid.id = ' . $video_id;
不被识别为查询....换句话说,这一位不是sql查询的一部分。
目前SQL查询只了解例如newsvid.id等于1,我需要这个查询才能理解videoinformation.id和videomain.id等于1(video_id)
最后这是有效的:
$query = 'SELECT newsvid.id, videoinformation.id, videomain.id, newsvid.vidTitle, newsvid.imgCover, videoinformation.vidLD, videoinformation.vidYear, videoinformation.vidCity, videoinformation.vidZanr, videoinformation.vidQUality, videoinformation.vidTranslated, videoinformation.vidMaker, videoinformation.vidRoles, videoinformation.vidTime, videoinformation.imgShot1, videoinformation.imgShot2, videoinformation.imgShot3, videomain.vidMUrl FROM newsvid, videomain, videoinformation WHERE newsvid.id = 1 AND videoinformation.id = 1 AND videomain.id = 1;
但“1”的内容我需要$ video_id。
因为我有php <?php $video_id = $_GET['id']; ?>
为我帮助
SELECT newsvid.id, videoinformation.id, videomain.id, newsvid.vidTitle, newsvid.imgCover, videoinformation.vidLD, videoinformation.vidYear, videoinformation.vidCity, videoinformation.vidZanr, videoinformation.vidQUality, videoinformation.vidTranslated, videoinformation.vidMaker, videoinformation.vidRoles, videoinformation.vidTime, videoinformation.imgShot1, videoinformation.imgShot2, videoinformation.imgShot3, videomain.vidMUrl FROM newsvid, videomain, videoinformation WHERE newsvid.id = videoinformation.id AND newsvid.id = videomain.id AND newsvid.id = '. $video_id ;
答案 0 :(得分:0)
试试这个:
$query = "SELECT newsvid.id, ...... videoinformation.imgShot3, videomain.vidMUrl
FROM newsvid, videomain, videoinformation
WHERE newsvid.id = " . $video_id . " AND videoinformation.id =" . $video_id . "
AND newsvid.id = " . $video_id;
OR版本:
$query = "SELECT newsvid.id, ...... videoinformation.imgShot3, videomain.vidMUrl
FROM newsvid, videomain, videoinformation
WHERE newsvid.id = " . $video_id . " OR videoinformation.id =" . $video_id . "
OR newsvid.id = " . $video_id;
并告诉我们是否有人帮助过你。
如果仍然无效,请转储$ query并在phpmyadmin(或您正在使用的任何界面)中手动尝试并在此处粘贴错误。
P.S 小心每个表格中的栏目是否被命名!!!
L.E:这是您的查询
SELECT newsvid.id, videoinformation.id, videomain.id, newsvid.vidTitle,
newsvid.imgCover, videoinformation.vidLD, videoinformation.vidYear, videoinformation.vidCity, videoinformation.vidZanr, videoinformation.vidQUality, videoinformation.vidTranslated, videoinformation.vidMaker, videoinformation.vidRoles, videoinformation.vidTime, videoinformation.imgShot1, videoinformation.imgShot2, videoinformation.imgShot3, videomain.vidMUrl
FROM newsvid, videomain, videoinformation
WHERE newsvid.id = 1 AND videoinformation.id = 1 AND videomain.id = 1;
您正在尝试从多个表中选择值,为此,您需要join(单击以获取更多详细信息)。
所以你的查询应该是:
SELECT ...
FROM newsvid as nw
JOIN videomain as vm ON nw.id = vm.id
JOIN videoinformation as vi ON vi.id = vm.id
WHERE nw.id = video_id ;
PHP中的:
$query = "SELECT ...
FROM newsvid as nw
JOIN videomain as vm ON nw.id = vm.id
JOIN videoinformation as vi ON vi.id = vm.id
WHERE nw.id = ". $video_id ;
其中nw,vm和vi是表的别名,video_id是我认为是视频域中PK的FK。如果没有,请使用适当的值重写查询。
答案 1 :(得分:0)
您需要加入表格。使用双引号。变量没问题。使用内连接,如:
"SELECT newsvid.id, videoinformation.id, videomain.id, newsvid.vidTitle, newsvid.imgCover, videoinformation.vidLD, videoinformation.vidYear, videoinformation.vidCity, videoinformation.vidZanr, videoinformation.vidQUality, videoinformation.vidTranslated, videoinformation.vidMaker, videoinformation.vidRoles, videoinformation.vidTime, videoinformation.imgShot1, videoinformation.imgShot2, videoinformation.imgShot3, videomain.vidMUrl
FROM newsvid
INNER JOIN videomain
ON newsvid.id = videomain.id
INNER JOIN videoinformation
ON newsvid.id = videoinformation.id
WHERE newsvid.id = $video_is";