繁体   English   中英

使用Count给出错误的行数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM