我在php文件中有2个函数,并且该文件包含在另一个php文件中,问题是1个函数可用而其他函数不可用。
可用功能:
function get_visits_count($enterprise_id, $date1=NULL,$date2=NULL)
{
global $DB;
$_enterprise_id=filter_var($enterprise_id,FILTER_SANITIZE_NUMBER_INT);
if(isset($date1) && isset($date2))
{
$query="select COUNT(DISTINCT visit_id) AS count FROM user_activity where DATE(time_stamp) between '$date1' and '$date2' and enterprise_id=".$_enterprise_id;
}
else
{
$query="select COUNT(DISTINCT visit_id) AS count FROM user_activity where enterprise_id=".$_enterprise_id;
}
$stmt = $DB->query($query);
if(!$stmt)
{
return -1;
}
else
{
$row = $stmt->fetch(PDO::FETCH_ASSOC);
//var_dump($row);
return $row['count'];
}
}
无法使用的功能:
function get_bounce_counts($enterprise_id, $date1=NULL,$date2=NULL)
{
global $DB;
if(isset($date1) && isset($date2))
{
$stmt = $DB->prepare("select visit_id, from user_activity where enterprise_id=:id and DATE(time_stamp) between :date1 and :date2 group by visit_id having count(visit_id)=1");
$stmt->bindValue(':id', $enterprise_id, PDO::PARAM_INT);
$stmt->bindValue(':date1', $date1, PDO::PARAM_STR);
$stmt->bindValue(':date2', $date2, PDO::PARAM_STR);
}
else
{
$stmt = $DB->prepare("select visit_id, from user_activity where enterprise_id=:id group by visit_id having count(visit_id)=1");
$stmt->bindValue(':id', $enterprise_id, PDO::PARAM_INT);
}
$stmt->execute();
if(!$stmt)
{
return -1;
}
else
{
$row_count = $stmt->rowCount();
if($row_count>0)
{
return $row_count;
}
else
{
return 0;
}
}
}
我使用的是phpstorm IDE也没有显示任何错误,并且在php文件的结构中也没有可用的功能。
答案 0 :(得分:0)
"不可用的功能"声明为get_bounce_counts()
。您正在致电get_bounce_rate()
。这就是问题所在。
public function getEnterpriseStats($eid, $date1 = null, $date2 = null)
{
$stats = array();
$stats['visits_total'] = get_visits_count($eid, $date1, $date2);
$stats['visits_average'] = get_average_visit_count($eid, $date1, $date2);
$stats['bounce_count'] = get_bounce_rate($eid,$date1,$date2);
// ^---- is this function declared anywhere
return $stats;
}