尝试从MySQL查询的两个表中获取信息

时间:2011-11-15 19:23:58

标签: php mysql

我的页面信息和图像存储在两个单独的表中。我想从表格“页面”中找到“类型”和“正文”。然后从表“page_images”中“图像”。两者显然来自同一页。

我想要一些随机页面的戏弄。但是,我需要一个图像(即使每个页面存储了很多图像)来自“page_images”,而'type'和'body'来自“page”。 (图像在表page_images中存储为'image_loc')

-- TABLE  page

page_id | user_id | url_title     | title         | type | full_location | phone | body
----------------------------------------------------------------------------------------
1       | 1       | jazz_showcase | Jazz Showcase | Jazz | ...           | ...   | ... 

-- TABLE  page_images

image_id | user_id | page_title     | image_loc
-----------------------------------------------
1        | 1       | jazz_showcase  | ...
2        | 3       | jazz_showcase  | ...
3        | 2       | something_else | ...

此查询不起作用...

function OnTheSpot() {
        $query = mysql_query("SELECT page.body AS desc, page.style AS styles, page_images.image_loc AS images
                                FROM page
                                LEFT JOIN page_images
                                ON page.url_title = page_images.page_title 
                                ORDER BY RAND()
                                LIMIT 1
                            ");
        while($fetch = mysql_fetch_assoc($query)) {
            $desc = $fetch['desc'];
            $styles = $fetch['styles'];
            $images = $fetch['images'];
            echo $desc.'<br />';
            echo $styles.'<br />';
            echo $images.'<br />';
            }
        }

我想要5个左右的随机页面进行演示。每个页面都限制一个图像,并显示类型和主体。如何进行查询。

1 个答案:

答案 0 :(得分:2)

desc更改为例如descrDesc是MySQL中的保留字,您无法使用它。

请参阅:MySQL Reserved Words

编辑:这也是您的查询,可能会解决您的问题:

$query = "SELECT page.body AS descr, page.url_title, page.style AS styles, page_images.image_loc AS images FROM page,page_images WHERE page_images.page_title = page.url_title ORDER BY RAND() LIMIT 1");