php - SQLSTATE[42000] : Syntax error or access violation: 1065 Query was empty (SQL: )

标签 php

我有如下 PHP 类:

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]: Syntax error or access violation: 1065 Query was empty (SQL: ) ... at BaseDao->executeSelectQuery(null, array(array('10523', '10524', '10606', '10423', '10533', '10618'))) in SearchAttributeDao.php line 24

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

最佳答案

您调用的电话:

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

但是你已经定义了:

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

尝试更正名称并重试

关于php - SQLSTATE[42000] : Syntax error or access violation: 1065 Query was empty (SQL: ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31788387/

相关文章:

php - 如何从 php 获取循环数组到 AJAX

php - 通过mysql中的php从android存储以base64编码的图像

php - 为什么 nl2br() 不工作

php - 在 boolean in 上调用成员函数 execute()

php - 我可以直接从我的 Arduino 将项目放入 MySQL 数据库吗?

php - 如何循环访问类的静态数据成员——使用变量作为类名?

php - Cronjob 创建输出文件,但不写入它

php - Swift 我应该如何存储聊天昵称?

php - Ajax 和 Laravel - 无法根据动态下拉选择填充文本框

javascript - 使用 Flot、JSON 和 MySQL 的 X 轴日期格式