gpt4 book ai didi

php - RAND 返回请求,有时不返回任何值

转载 作者:行者123 更新时间:2023-11-29 11:47:13 24 4
gpt4 key购买 nike

我正在尝试使用 mysql 和 php 进行测验我想从数据库中随机获取问题我有 rand 函数的问题有时它不设置任何值并且还返回重复项我尝试在网上寻找解决方案,但未能成功这是产生问题的代码部分

$link=mysqli_connect("localhost","root","","database"); 
$req="SELECT DISTINCT *
FROM `qst_s`
WHERE `id_qst` = ROUND( RAND()*49 ) + 1 AND `level` = '1' LIMIT 40";
$result=mysqli_query($link,$req);
$question=$result->fetch_assoc();

顺便说一句,我的 1 级数据库中有 50 个问题

最佳答案

从 MySQL 数据库中选择随机行的最简单方法是在查询中使用“ORDER BY RAND()”子句。

SELECT * FROM `table` ORDER BY RAND() LIMIT 0,1;

这种方法的问题是速度非常慢。速度如此之慢的原因是 MySQL 创建了一个包含所有结果行的临时表,并为每个结果行分配了一个随机排序索引。然后对结果进行排序并返回。

您的查询将如下所示:

$req="SELECT DISTINCT *
FROM `qst_s`
WHERE `level` = '1'
ORDER BY RAND()
LIMIT 40";

关于php - RAND 返回请求,有时不返回任何值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34724667/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com