当前位置: 首页 > 面试题库 >

如何在不考虑PDO限制的情况下获取找到的总行数?

闻人鸿文
2023-03-14
问题内容

我发现进行辅助查询来检查更多结果以显示 更多加载 按钮是非常不专业的。

我正在使用PDO,有什么方法可以在没有限制过滤器的情况下获得找到的总行数,但仍在过滤结果?

当前代码:

// Show Results

$start = 0

$r=$db->prepare("SELECT * FROM locations WHERE area=:area LIMIT $start,10");
$r->execute($fields);

// See if there is more results

$r=$db->prepare("SELECT * FROM locations WHERE area=:area");
$r->execute($fields);

$offset=$start+10;
if($r->rowCount() > $offset){
echo "<div class='load'>Load More</div>";
}

问题答案:

仅MySQL AFAIK:

$r=$db->prepare("SELECT SQL_CALC_FOUND_ROWS * FROM locations WHERE area=:area LIMIT $start,10");
$r->execute($fields);

var_dump($r->fetchAll());

var_dump($db->query('SELECT FOUND_ROWS();')->fetch(PDO::FETCH_COLUMN));

当然,对于数据库服务器而言,查询一次就像查询所有记录一样繁重。对于非MySQL使用,此查询当然比获取 所有 记录的行数更好:

$r=$db->prepare("SELECT COUNT(*) FROM locations WHERE area=:area");
$r->execute($fields);
$count = $r->fetch(PDO::FETCH_COLUMN);
echo $count;


 类似资料:
  • 我正在编写一个从站点中抓取信息的python代码,但我必须首先去掉一些cookies弹出窗口。要单击右侧按钮,我需要它们的XPath(据我所知)。问题是XPath的一部分每次都发生变化,我不知道如何找到它们,因为它们实际上没有任何属性,比如ID之类的。 这是按钮的HTML: 这是我现在使用的命令: 这是XPath: 变量每次都变,所以我改变了14。

  • 我有一个contenteditable div,用户可以在其中输入文本。我希望文本自动换行,但不像默认的空格或连字符,而是像这样: 我如何才能实现这一点?

  • 问题内容: 我正在尝试使用Mockito测试一些旧代码。 我想存根用于生产的a如下: 我可以写: 但是明显的问题是,从来没有使用与我存根方法相同的对象来调用它。(请该运算符!) 如果我可以以不考虑参数的方式返回该方法的方法来对它进行存根,我将非常喜欢。失败的话,我会听取其他解决方法的建议,但我真的想避免更改生产代码,直到有合理的测试范围为止。 问题答案: 或(避免s): 不要忘记导入匹配器(有许多

  • 问题内容: 在SQL(SQL Server)中,是否可以从表的标识列中检索下一个ID(整数),而实际上无需插入行?如果删除了最近的行,则不一定是最高ID加1。 我之所以这样问,是因为我们有时不得不用新行更新活动数据库。该行的ID在我们的代码中使用(例如,Switch(ID){Case ID:},并且必须相同。如果我们的开发数据库和实时数据库不同步,最好预先预测一个行ID部署之前。 我当然可以 SE

  • 问题内容: 我在表格中有两列:和。我想以不允许插入两行的方式使对(,)唯一: 问题答案: 在这种情况下,您可以在表达式上创建索引: 注意:如果各列允许值,则有些奇怪。在那种情况下,无论位于哪个列中,相同的值都只能被允许一次。如果这实际上是一个问题,则可以使用更复杂的表达式来解决。

  • 我在我的应用程序中使用CloudKit作为远程保存数据的一种方式。我的一个记录具有保存图像的CKAsset属性。当我获取记录时,我意识到完成查询要花很多时间。经过多次测试,我得出结论,当您查询记录时,CloutKit会用record对象下载整个资产文件。因此,当您从record对象获取资产并请求它的fileURL时,它会给您一个本地文件路径URL,而不是HTTP类型的URL。这对我来说是一个问题,