如何在MySQL和PHP中选择一个随机行?

时间:2014-02-08 10:50:37

标签: php mysql random

我的表是这样的:

id,url,name,imagelink

我想做点什么:

SELECT * FROM id WHERE id="randomid"

我希望从id=17,url17,name17,imagelink17这样的随机行中获取所有数据,然后将其保存在变量后面。例如$ currentid,$ currenturl,$ currentname,$ currentimagelink

我尝试过这样的事情:

"SELECT * FROM table WHERE id= ORDER BY rand() LIMIT 20";

显然不起作用。我怎么能正确地做到这一点?

3 个答案:

答案 0 :(得分:3)

由于您不想要特定的行,请将WHERE id=保留在查询之外,它应该可以正常工作。

SELECT * FROM table ORDER BY RAND() LIMIT 20

将返回20个随机行

SELECT * FROM table ORDER BY RAND() LIMIT 1

只会给你一个

答案 1 :(得分:1)

尝试这样的事情:

$query = "SELECT * FROM table_name ORDER BY RAND() LIMIT 1";
$result= mysqli_query($connection, $query);

以及您可以拥有的变量

    while($row = mysqli_fetch_array($result))
      {

        $currenid=$row['id'];
        $currenturl=$row['url']; 
        $currentname=$row['name'];
        $currentimagelink=$row['imagelink'];

      }

答案 2 :(得分:-1)

你可以这样查询:

SELECT * FROM table_name ORDER BY RAND() LIMIT 1