Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 尝试使用MySQL查询从两个表中获取信息_Php_Mysql - Fatal编程技术网

Php 尝试使用MySQL查询从两个表中获取信息

Php 尝试使用MySQL查询从两个表中获取信息,php,mysql,Php,Mysql,我的页面信息和图像存储在两个单独的表中。我想要表格“页面”中的“类型”和“正文”。然后从“页面图像”表中选择“图像”。显然这两个都来自同一页。 我想要一些随机页面的挑逗。但是,我需要“page_images”中的一个图像(即使每个页面存储了许多图像),以及“page”中的“type”和“body”。(图像作为“图像”存储在表格页面中) 此查询不起作用 function OnTheSpot() { $query = mysql_query("SELECT page.body AS

我的页面信息和图像存储在两个单独的表中。我想要表格“页面”中的“类型”和“正文”。然后从“页面图像”表中选择“图像”。显然这两个都来自同一页。

我想要一些随机页面的挑逗。但是,我需要“page_images”中的一个图像(即使每个页面存储了许多图像),以及“page”中的“type”和“body”。(图像作为“图像”存储在表格页面中)

此查询不起作用

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 />';
            }
        }
espot()上的函数{ $query=mysql\u query(“选择page.body作为desc,选择page.style作为样式,选择page\u images.image\u loc作为图像 从第页 左连接页面\u图像 在page.url\u title=page\u images.page\u title上 兰德订单() 限制1 "); while($fetch=mysql\u fetch\u assoc($query)){ $desc=$fetch['desc']; $styles=$fetch['styles']; $images=$fetch['images']; 回显$desc.
; 回显$style.“
”; 回显$images.“
”; } }
我想5个左右的随机页面演示。每一页仅限一幅图像以及显示的类型和正文。如何进行查询。

desc
更改为例如
descr
Desc
是MySQL中的保留字,您不能使用它

见:

编辑:这里还有一个查询,它可能会解决您的问题:

$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");

每次你使用
orderbyrand()
,一只小狗就会死:(解释为什么
orderbyrand()
不好:请回答这个问题。尽管这篇文章不错。你有没有尝试过在page\u images.page\u title=page.url\u title上使用
brain告诉我该部件的订购很重要,但我想不出原因。不,那没用。我一直得到“mysql\u fetch\u assoc()期望参数1是资源,布尔值在…’错误中给出。因此,它是查询本身的一部分。都德,很好。这非常有效。是否有一种方法可以为一个页面显示多个图像。如果我更改限制5。它显示5个页面,每个页面一个图像。如何为一个页面显示多个图像?再次感谢您可以使用desc,但它必须始终用反勾号括起来。@Graham我不确定。你可以用两个不同的查询来完成它,首先获取页面,然后获取该页面的五个图像。我非常确定有很多更复杂的方法来完成它,但现在这可能会让你继续。
$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");