gpt4 book ai didi

php - while 和 between 之间有什么区别,在我的情况下什么是更好的选择?

转载 作者:可可西里 更新时间:2023-11-01 08:40:04 26 4
gpt4 key购买 nike

我有一个有数百行的表,我想获取特定的行,我使用了 LIMIT 和 id 和 id 之间在我的应用程序中,我有两个文本输入,一个用于 START NUMBER,一个用于 END NUMBER,当我使用 LIMIT 时,我需要告诉用户进行正确的计算以获得正确的开始和结束因此,例如,如果我有一个 3000 行的表,并且我想选择 2000 行以上的 100 行,查询将是:

Select * from table LIMIT 2000,100

这将选择 2000 以上的 100 行

中间方法:

在 between 方法中,我在所有表上运行一个 while 函数,我正在使用 IF 语句来获取正确的 id,这就是我正在做的:

Select * from table

$datastart = $_POST["datastart"];
$dataend = $_POST["dataend"];
$firstid = 0;
$lastid = 0;
$varcount6=1;

$sql = "select ID from users_info";
$sqlread = mysqli_query($conn,$sql);

while($row = mysqli_fetch_assoc($sqlread)){

if($datastart==$varcount6){
$firstid = $rowdirstid["ID"];
}

if($varcount6>=$dataend){
$lastid = $rowdirstid["id1"];

break;
}

$varcount6++;
}

现在我有了表的第一个 id 和最后一个 id,接下来我使用另一个 sql 查询:

Select * from table where id between $firstid and $lastid

都有效

我的问题是:如果我每次都加载大量数据,我应该使用什么?

我应该和 while 一起去吗?或者 LIMIT 将完成工作?

最佳答案

首先,您永远不应该使用 PHP 来获取所需的数据,坚持只在 SQL 中这样做,因为永远不需要 PHP。

您正在使用的限制查询不会根据您要执行的操作来削减它,因为它不会关心条目的 ID 是什么,因此,如果您的 ID 不是 100% 连续的,您将不会得到想要的结果。

您应该使用显示在帖子底部的 between 查询。

但是,由于您没有提供完整的代码,我不能说您是否对输入进行了清理,但记住这一点总是一件好事。最好也使用参数化查询。

关于php - while 和 between 之间有什么区别,在我的情况下什么是更好的选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35313081/

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