我目前在使用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 !=''");
然后它可以工作,但我不知道是什么问题,因为我需要根据功能不同的参数。
。任何人都可以帮忙。