php - 显示随机 mysql 记录 - PHP

标签 php html mysql

我试图从我的表中显示随机记录,但没有运气,这就是我要做的。这是用 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/

相关文章:

php - in_array() 不返回所有结果

javascript - 单击 JQuery 后重新绑定(bind)悬停效果

html - 三星 Galaxy 搜索栏中的占位符显示在错误的一侧

MySql - 创建存储函数并调用它

php - 如何用 PHP 构建安全的发送给 friend 的功能?

php - Laravel Schema Builder 时间戳 *with* timezone

javascript - 如何让用户不访问数据库中的文件

javascript - jQuery Cycle 插件 pagerAnchorBuilder 图像变得未定义

MySQL根据同一张表上的多个AND条件选择用户ID

mysql - 想要恢复数据到 contact form 7, wordpress