Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.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 选择受限制的随机行,同时根据显示的随机行(PDO)显示来自其他表的信息_Php_Mysql_Select_Random - Fatal编程技术网

Php 选择受限制的随机行,同时根据显示的随机行(PDO)显示来自其他表的信息

Php 选择受限制的随机行,同时根据显示的随机行(PDO)显示来自其他表的信息,php,mysql,select,random,Php,Mysql,Select,Random,我不擅长php,也许你们能帮我?假设我有两张桌子 1号 2号 PHP代码 <?php $db = new PDO('mysql:host=localhost;dbname=****;charset=utf8', '***', '***'); $stmt = $db->query('SELECT * FROM number1, number2 ORDER by rand() LIMIT 1'); while($row = $stmt->fetch(PDO::FETCH

我不擅长php,也许你们能帮我?假设我有两张桌子

1号

2号

PHP代码

<?php

$db = new PDO('mysql:host=localhost;dbname=****;charset=utf8', '***', '***');

$stmt = $db->query('SELECT * FROM number1, number2 ORDER by rand() LIMIT 1');

while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

echo '<div class="city">';
echo '<div class="city-name">'.$row['city'].'</div>';
echo '<div class="city-information">'.$row['information'].'</div>';
echo '<div style="background:url(img/'.$row['city'].'.jpg)"></div>';
echo '</div>';

}

?>
您需要加入:

SELECT n2.city, GROUP_CONCAT(n2.information) AS information
FROM (SELECT city
      FROM number1
      ORDER BY RAND()
      LIMIT 1) AS n1
JOIN number2 AS n2 ON n1.city = n2.city

另外,当查询只返回1行时,您不需要
while
循环。

我得到了这个错误:
致命错误:对
中的非对象调用成员函数fetch()。谢谢你的回答!对不起,
RANDOM()
应该是
RAND()
。在PDO中启用错误信号,这样您就可以看到MySQL错误。现在它正在工作。非常感谢你!我有一个问题要问你:如何只显示一次城市名称和来自该城市的所有信息?请参阅更新的查询,我将所有信息连接在一起。得到与上一个相同的错误:,并且表中没有任何图像或路径:|