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',“10606 ','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,...
尝试更正名称,然后再试一次
我告诉你,我笨:/ – Tariq