Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从SQLite数据库中获取随机记录?_Php_Mysql_Sqlite - Fatal编程技术网

Php 如何从SQLite数据库中获取随机记录?

Php 如何从SQLite数据库中获取随机记录?,php,mysql,sqlite,Php,Mysql,Sqlite,我正在研究PHP。我以前使用过MySQL。这是我使用的代码- $offset_result = mysqli_query($con, " SELECT FLOOR(RAND() * COUNT(*)) AS `offset` FROM students "); $offset_row = mysqli_fetch_object( $offset_result ); $offset = $offset_row->offset; $result = mysqli_query($con,

我正在研究PHP。我以前使用过MySQL。这是我使用的代码-

 $offset_result = mysqli_query($con, " SELECT FLOOR(RAND() * COUNT(*)) AS `offset` FROM students ");
 $offset_row = mysqli_fetch_object( $offset_result );
 $offset = $offset_row->offset;
 $result = mysqli_query($con, " SELECT name FROM students LIMIT $offset, 1 " );      
 $row = mysqli_fetch_row($result);
 mysqli_free_result($result);

SQLite的相应语句集是什么?

如果您只需将
RAND
更改为
RANDOM
并将
FLOOR(x)
更改为
CAST(x为整数)
,那么这些SQL查询应该在SQLite中工作

一种稍微简单的方法是按随机数排序:

SELECT name
FROM students
ORDER BY RANDOM()
LIMIT 1

如果表非常大,则执行此操作的方式更有效。

如果您只需将
RAND
更改为
RANDOM
并将
FLOOR(x)
更改为
CAST(x为整数)
,则这些SQL查询应该在SQLite中工作

一种稍微简单的方法是按随机数排序:

SELECT name
FROM students
ORDER BY RANDOM()
LIMIT 1
如果桌子很大,那么你的工作方式会更有效率