我试图从我的表中显示随机记录,但没有运气,这就是我要做的。这是用 PHP 编码的
$range_result = mysql_query("SELECT MAX() AS max_id , MIN() AS min_id FROM pages");
$range_row = mysql_fetch_object( $range_result );
$random = mt_rand($range_row->min_id , $range_row->max_id);
$result_random = mysql_query( "SELECT * FROM pages WHERE id >= $random LIMIT 0,1");
echo $result_random;
想知道这是否是一个明显的错误?我已经连接到数据库了。
JB
最佳答案
为了提高性能,您应该使用带有 mysqli_multi_query
的直接 SQL 来执行此操作:
// First query gets the random ID, second gets the associated row
$sql = "SELECT @id:=FLOOR(RAND()*(MAX(id) - MIN(id))) + MIN(id) FROM pages;
SELECT * FROM pages WHERE id = @id;"
// Create a mysqli object and execute the multi-query
$mysqli = new mysqli($host, $user, $pass, $db_name);
$mysqli->multi_query($sql);
$result = $mysqli->store_result();
// Grab the first row from the first resultset
if ($row = $result->fetch_assoc()) {
print_r($row);
}
关于php - 显示随机 mysql 记录 - PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13755182/