[英]Using Count giving wrong number of rows
在我使用此代码计算行数之前
echo $db_handle->numRows("SELECT * FROM orders WHERE DATE(reattemptdate) = CURDATE()");
比我发现它对性能的影响,比我试图使用下面的代码,但它没有给出正确的行数,我在下面的代码中做了什么错?
$sqldelivery = "SELECT COUNT(*) as count FROM orders WHERE DATE(reattemptdate) = CURDATE()";
$resultdeliverys = $db_handle->runSelectQuery($sqldelivery);
$numrowsresultdelivery =count($resultdeliverys);
echo $numrowsresultdelivery;
数据库连接代码 :
function numRows($query) {
$result = mysqli_query($this->conn,$query);
$rowcount = mysqli_num_rows($result);
return $rowcount;
}
在你的第二个代码,查询将始终返回1行-与列的行count
是行数,所以...
$numrowsresultdelivery =count($resultdeliverys);
可能永远是1,你需要像......
$numrowsresultdelivery =$resultdeliverys[0]['count'];
从结果的第一行提取count
字段。 (注意我不知道这是否是正确的符号,但它是从结果而不是结果数量中需要字段的原则。)
您必须已经通过$resultdeliverys->count
。
$sqldelivery = "SELECT COUNT(*) as count FROM orders WHERE DATE(reattemptdate) = CURDATE()";
$resultdeliverys = $db_handle->runSelectQuery($sqldelivery);
// Try this to know if it's returning array or object
var_dump($resultdeliverys);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.