SQLSTATE [42000]:语法错误或访问冲突:1065查询为空(SQL:)

问题描述:

我有PHP类如下:SQLSTATE [42000]:语法错误或访问冲突:1065查询为空(SQL:)

class SearchAttributeDao extends BaseDao 
{ 
    private $SELECT_CATEGORY_FILTER_BY_IDS; 

    function __construct() 
    { 
     $this->table_name = 'categoryattributes'; 
     $this->SELECT_CATEGORY_ATTR_BY_IDS = "SELECT csa.attributeid, atn.name FROM " 
      .$this->table_name. 
      " csa join attributenames atn on csa.attributeid = atn.attributeid where csa.categoryid in (?); "; 
    } 

    public function getListByCatIds(array $catIds) 
    { 
     //... 
     $attr_list = $this->executeSelectQuery($this->SELECT_CATEGORY_FILTER_BY_IDS, [$catIds]); //Error on this line 
     //... 
    } 
} 

所以,当我执行我的应用程序,我得到一个错误,指出:

SQLSTATE [42000]:语法错误或访问冲突:1065查询是空的(SQL:) ... 在BaseDao-> executeSelectQuery(null,数组(阵列( '10523', '10524',“1​​0606 ','10423','10533','10618')))in SearchAttributeDao.php line 24

上面的堆栈跟踪表明SELECT_CATEGORY_FILTER_BY_IDS为空或空,但我已经在构造函数中设置它。我做错了什么?

您的呼吁:

$this->executeSelectQuery($this->SELECT_CATEGORY_FILTER_BY_IDS.. 

,但你已经定义:

$this->SELECT_CATEGORY_ATTR_BY_IDS = "SELECT csa.attributeid,... 

尝试更正名称,然后再试一次

+0

我告诉你,我笨:/ – Tariq