我已经查看了与此相关的其他15个左右的答案,并且没有找到有效的答案。这是负责的代码:
function count_distinct($table, $field, $from, $match, $other='Other'){
try{
$ret = array();
$query = 'SELECT '.$table.'.'.$field.', COUNT(*) AS num FROM '.$from;
$query .= ($match) ? ' WHERE '.$match : '';
$query .= ' GROUP BY `'.$table.'`.`'.$field.'`';
$q = mysqli_query($this->con, $query);
if (!$q) {
throw new Exception('Error executing query ' . $query . ' ' . mysqli_error($this->con));
} else {
...
}
return $ret;
}
catch(Exception $e){... }
}
我删除了一些似乎工作正常的处理代码。此函数的输入是代码生成的,不是客户端/用户生成的,并且没有空格或符号。
我收到此错误:
Error executing query SELECT interventions.iTYPE, COUNT(*) AS num
FROM interventions JOIN INC ON INC.form_id = interventions.form_id JOIN FORMS ON INC.form_id=FORMS.form_id WHERE `interventions`.`iCAT` = "IV/IO" AND INC.`Pt.AgeRange` <> "Manikin/Lab" AND FORMS.course_id="15" GROUP BY `interventions`.`iTYPE` Unknown column 'interventions.iTYPE' in 'field list'
表格配置如下:
interventions
form_id (int (10))
iCAT (varchar(20))
iTYPE (varchar(20))
Result (tinyint(1))
INC
form_id (int(10))
Pt.AgeRange (varchar(20))
FORMS
form_id (int(10))
course_id (int(20))
等
疯狂的部分是,如果我复制/粘贴错误信息中打印的查询并在Sequel Pro中运行它可以正常工作,没有错误,并且打印结果没有问题。
我在我的智慧结束 - 我尝试重新启动服务器,更改字段列表的顺序,删除GROUP BY子句,添加返回标记,删除它们...我&#39;我没有想法。