SQL查询无法显示列不为空的行数

时间:2017-04-26 16:20:32

标签: php mysql

我目前在使用mysql查询搜索与特定月份匹配的行数时遇到问题,然后函数返回此处的行数是我的代码:

public function getAllChart($reading, $month){
    $stmt = $this->con->prepare("SELECT ? FROM garden WHERE ? IS NOT NULL AND MONTH(STR_TO_DATE(time, '%e-%b-%Y')) = ?");
    $stmt->bind_param("ssi",$reading,$reading,$month);
    $stmt->execute();
    $stmt->store_result();
    $num_rows = $stmt->num_rows;
    $stmt->close();
    return $num_rows;
}

上面的函数,如果我通过getallchart(temp,4)那么它应该只显示非空的列并且也匹配月份,它的行为异常,如果我使用:

$stmt = $this->con->prepare("SELECT ? FROM garden WHERE ? !=''");
        $stmt->bind_param("ss",$reading,$reading);

然后它不起作用,但是当我使用时:

$stmt = $this->con->prepare("SELECT temp FROM garden WHERE temp !=''");

然后它可以工作,但我不知道是什么问题,因为我需要根据功能不同的参数。

。任何人都可以帮忙。

0 个答案:

没有答案