【发布时间】:2019-01-31 02:04:36
【问题描述】:
你好,我正在研究一个函数,它应该返回一个数据库结果集以及查询检索数据所花费的时间。效果很好,但我不知道如何返回时间和结果集并使它们在视图中可用。感谢您的帮助。
我的代码如下所示:
public function getNumResults($term) {
/* Count query Execution */
$starttime = microtime(true);
$query = $this->con->prepare("SELECT COUNT(*) as total
FROM sites WHERE title LIKE :term
OR url LIKE :term
OR keywords LIKE :term
OR description LIKE :term");
$endtime = microtime(true);
/* Calculates total time taken */
$duration = $endtime - $starttime;
$searchTerm = "%". $term . "%";
$query->bindParam(":term", $searchTerm);
$query->execute();
$row = $query->fetch(PDO::FETCH_ASSOC);
return $row["total"];
}
在视图中我像这样返回结果集:
<div class="mainResultSection">
<?php
$resultsProvider = new SearchResultsProvider($con);
$numResults = $resultsProvider->getNumResults($term);
/* Not working */
$timeResults = $resultsProvider->getNumResults($term)->duration;
echo "<p class='resultsCount'>$numResults results found. In $timeResults <p>";
?>
</div>
【问题讨论】:
-
既然你只能
return一件事,就把它们都放在一个数组中并返回数组。 -
您的微时间不考虑实际查询阶段。另外,为什么不将其作为搜索对象的属性?
-
我想过写另一种方法,但我不确定这是否会延长函数计算请求的时间,所以我最终得到了更长的时间它曾经是......
-
你放弃了吗???
-
nooooo ????进一步@AbraCadaver
标签: php mysql database resultset multiple-resultsets