如何在PHP/MySQL中回显一个随机行


How do I echo a random row in PHP/MySQL?

我已经阅读了许多关于如何从MySQL数据库中的随机行中回显数据的指南,但我总是看到一个空白页面。

以下是我认为迄今为止最好的代码版本:

<?php $username="root";$password="notarealpassword";$database="offenders";
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");

$sSQLQuery = "SELECT last_name AND first_name FROM offenders ORDER BY RAND() LIMIT 1";  
$aResult = mysql_query($sSQLQuery); 
WHILE ($aRow = mysql_fetch_array($aResult)):
echo $aRow['last_name'] . " " . $row['first_name'];
ENDWHILE; 
?>

我已经测试并确保与数据库的连接正常。为什么我到达一个空白页面,我该如何修复它?

非常感谢!

  1. 查询前不要调用mysql_close
  2. mysql函数已弃用,请改用mysqli
  3. 我会使用花括号而不是WHILE - ENDWHILE
  4. 所选列必须以逗号分隔(而不是以AND分隔):

    $sSQLQuery = "
        SELECT 
          last_name, <- here
          first_name 
        FROM offenders 
        ORDER BY RAND() LIMIT 1";  
    

尝试更改三行

1

mysql_connect('localhost',$username,$password);

2

mysql_select_db($database) or die( "Unable to select database");

3

$sSQLQuery = "SELECT last_name, first_name FROM offenders ORDER BY RAND() LIMIT 1";