Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php opencart 1.4.9.3 mysql未知列错误_Php_Mysql_Sql_Left Join_Opencart - Fatal编程技术网

Php opencart 1.4.9.3 mysql未知列错误

Php opencart 1.4.9.3 mysql未知列错误,php,mysql,sql,left-join,opencart,Php,Mysql,Sql,Left Join,Opencart,我使用的是opencart 1.4.9.3版本。我已经从这里下载了横幅管理器。我遵循了安装步骤 当我单击EXTENSIONS>banner时,它返回此错误 Error: Unknown column 'jo_bts.store_id' in 'field list' Error No: 1054 SELECT jo_bts.store_id, s.name FROM jo_banner_to_store bts LEFT JOIN jo_store s ON s.store_id = bts.s

我使用的是opencart 1.4.9.3版本。我已经从这里下载了横幅管理器。我遵循了安装步骤

当我单击
EXTENSIONS>banner
时,它返回此错误

Error: Unknown column 'jo_bts.store_id' in 'field list'
Error No: 1054
SELECT jo_bts.store_id, s.name FROM jo_banner_to_store bts LEFT JOIN jo_store s ON s.store_id = bts.store_id WHERE banner_id = 1 ORDER BY store_id
但在我的数据库表中,我有
store\u id

jou横幅表格

public function getBannerStores($banner_id) {
        $query = $this->db->query("SELECT " . DB_PREFIX . "bts.store_id, s.name FROM " . DB_PREFIX . "banner_to_store bts LEFT JOIN " . DB_PREFIX . "store s ON s.store_id = bts.store_id WHERE banner_id = " . (int) $banner_id . " ORDER BY store_id");
        return $query->rows;
    }

jou banner\u to\u store表格

public function getBannerStores($banner_id) {
        $query = $this->db->query("SELECT " . DB_PREFIX . "bts.store_id, s.name FROM " . DB_PREFIX . "banner_to_store bts LEFT JOIN " . DB_PREFIX . "store s ON s.store_id = bts.store_id WHERE banner_id = " . (int) $banner_id . " ORDER BY store_id");
        return $query->rows;
    }


根据给定的查询,您使用的是未定义的别名JOU bts,我猜在定义别名的地方,创建者没有使用表前缀,请将
bts
更改为
”.DB\u prefix。“bts

public function getBannerStores($banner_id) {
        $query = $this->db->query("SELECT " . DB_PREFIX . "bts.store_id, s.name 
        FROM " . DB_PREFIX . "banner_to_store " . DB_PREFIX . "bts 
        LEFT JOIN " . DB_PREFIX . "store s 
         ON s.store_id = " . DB_PREFIX . "bts.store_id WHERE banner_id = " . (int) $banner_id . "
         ORDER BY store_id");
        return $query->rows;
    }
所以最终的查询看起来像

SELECT 
  jo_bts.store_id,
  s.name 
FROM
  jo_banner_to_store jo_bts 
  LEFT JOIN jo_store s 
    ON s.store_id = jo_bts.store_id 
WHERE banner_id = 1 
ORDER BY store_id 

仍然是相同的错误
未知列'bts.store_id'在'on clause'
@初学者再次看到我的答案我在更新on clause partI有一个小的OT问题:它现在是OpenCart 1.5.6.4,而OC 1.5.0是两年前发布的。为什么要耗尽这么旧的系统上的资源,而不是使用它们来将您的商店升级到最新版本?OC1.4.9.x(当时)很棒,但自从1.5.x以来,很多新特性和错误都被修复了。对我来说,OC1.4.9等于IE7——迟早会没有人支持它。。。