user3246092
user3246092

Reputation: 900

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

I've been going through a number of guides on how to echo data from a random row in a MySQL database and I keep arriving at a blank page.

Here is what I believe to be the best version of code I have so far:

<?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; 

?>

I have tested and made sure the connection to the database is working. Why am I arriving at a blank page and how can I fix it?

Thanks so much!

Upvotes: 0

Views: 238

Answers (2)

Ende Neu
Ende Neu

Reputation: 15783

  1. Don't call mysql_close before making queries;
  2. mysql functions are deprecated, use mysqli instead;
  3. I would use curly brackets instead of WHILE - ENDWHILE;
  4. Column selected must be comma separated (not AND separated):

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

Upvotes: 1

user3349436
user3349436

Reputation: 151

Try to change three lines

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

Upvotes: 1

Related Questions