如何在PHP/MySQL中回送随机行?

如何在PHP/MySQL中回送随机行?,php,mysql,Php,Mysql,我已经阅读了很多关于如何从MySQL数据库中的随机行中回送数据的指南,我一直看到一个空白页面 以下是我认为迄今为止最好的代码版本: <?php $username="root";$password="notarealpassword";$database="offenders"; mysql_connect(localhost,$username,$password); @mysql_select_db($database) or die( "Unable to select data

我已经阅读了很多关于如何从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; 

?>

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


非常感谢

试着换三行

一,

二,

三,

  • 在进行查询之前,不要调用
    mysql\u close
  • mysql
    函数不推荐使用,请改用
    mysqli
  • 我会用花括号代替
    WHILE-ENDWHILE
  • 所选列必须以逗号分隔(不以逗号分隔):

    $sSQLQuery=”
    挑选
    
    last_name,为什么在进行查询之前要关闭连接?因为您首先使用
    mysql_close
    关闭连接,然后尝试执行查询,还请注意,mysql_*函数已被弃用,请查看mysqli_*。问题是“localhost”应该在引号中。它是一个字符串文字,而不是一个变量。另外,从美学角度来看,我建议建议删除
    ENDWHILE;
    语法并使用
    {
    }
    。我也曾经做过VB,但感谢上帝提供了C风格的语法。第三个更正是什么。不知道为什么那个指南让我使用了“and”。非常感谢!什么指南?我严重怀疑他们使用了and
    mysql_connect('localhost',$username,$password);
    
    mysql_select_db($database) or die( "Unable to select database");
    
    $sSQLQuery = "SELECT last_name, first_name FROM offenders ORDER BY RAND() LIMIT 1";
    
    $sSQLQuery = "
        SELECT 
          last_name, <- here
          first_name 
        FROM offenders 
        ORDER BY RAND() LIMIT 1";