首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Codeigniter请求sql,但我的代码返回一个错误

Codeigniter请求sql,但我的代码返回一个错误
EN

Stack Overflow用户
提问于 2017-08-24 22:56:45
回答 2查看 181关注 0票数 0

我希望显示SQL请求的结果,但是我的代码会返回一个错误,我无法解决这个错误。如果有人能帮我,我会很感激的。

我和Codeigniter一起工作。

代码语言:javascript
复制
<?php defined('BASEPATH') OR exit('No direct script access allowed');

class Dropdown extends CI_Controller {

    public function __construct()
    {
        parent::__construct();  
    }

    public function index()
    {   
        $data['title']='Dependent Dropdown List';
        $data['page']='index';
        $data['MANUFACTURERS'] = $this->book_model->get_author();
        $this->load->view('index', $data);
    }


    public function ctest()
    {
        $data['MODELS'] = $this->book_model->test();
        $this->load->view('ajax_get_book',$data);
    }

}
?>

<?php defined('BASEPATH') OR exit('No direct script access allowed');

class book_model extends CI_Model {


    function __construct(){
        // Call the Model constructor
        parent::__construct();        
    }
    public function test() {   
        $lang = 6;
        $code = 533001410;

        $query = $this->db->query("SELECT DISTINCT
         IF (ART_LOOKUP.ARL_KIND IN (3, 4), BRANDS.BRA_BRAND, 
         SUPPLIERS.SUP_BRAND) AS 
         BRAND, ART_LOOKUP.ARL_SEARCH_NUMBER AS NUMBER, ART_LOOKUP.ARL_KIND,    
         ART_LOOKUP.ARL_ART_ID, DES_TEXTS.TEX_TEXT AS ART_COMPLETE_DES_TEXT
         FROM       ART_LOOKUP
         LEFT JOIN BRANDS ON BRANDS.BRA_ID = ART_LOOKUP.ARL_BRA_ID
         INNER JOIN ARTICLES ON ARTICLES.ART_ID = ART_LOOKUP.ARL_ART_ID
         INNER JOIN SUPPLIERS ON SUPPLIERS.SUP_ID = ARTICLES.ART_SUP_ID
         INNER JOIN DESIGNATIONS ON DESIGNATIONS.DES_ID = 
         ARTICLES.ART_COMPLETE_DES_ID
         INNER JOIN DES_TEXTS ON DES_TEXTS.TEX_ID = DESIGNATIONS.DES_TEX_ID
         WHERE  ART_LOOKUP.ARL_SEARCH_NUMBER = '.$code.' AND    
         ART_LOOKUP.ARL_KIND 
         IN (1, 2, 3, 4) AND    DESIGNATIONS.DES_LNG_ID = '.$lang.'
         GROUP BY   BRAND,  NUMBER");
         return $query->result();
    }
}
?>

错误号: 1055 SELECT list的表达式#3不是按子句分组,而是包含非聚合列'dpazine.ART_LOOKUP.ARL_KIND‘,它在功能上不依赖于GROUP子句中的列;这与sql_mode=only_full_group_by不兼容。 选择DISTINCT (ART_LOOKUP.ARL_KIND IN (3,4),BRANDS.BRA_BRAND,SUPPLIERS.SUP_BRAND)作为品牌,ART_LOOKUP.ARL_SEARCH_NUMBER作为数字,ART_LOOKUP.ARL_KIND,ART_LOOKUP.ARL_ART_ID,DES_TEXTS.TEX_TEXT作为ART_COMPLETE_DES_TEXT从ART_LOOKUP离开加入品牌在BRANDS.BRA_ID = ART_LOOKUP.ARL_BRA_ID内连接文章在ARTICLES.ART_ID = ART_LOOKUP.ARL_ART_ID内连接供应商在SUPPLIERS.SUP_ID = ARTICLES.ART_SUP_ID内部连接上的命名DESIGNATIONS.DES_ID = ARTICLES.ART_COMPLETE_DES_ID内部连接DES_TEXTS ON DES_TEXTS.TEX_ID = DESIGNATIONS.DES_TEX_ID其中ART_LOOKUP.ARL_SEARCH_NUMBER =‘.533001410’。和ART_LOOKUP.ARL_KIND IN (1,2,3,4)和DESIGNATIONS.DES_LNG_ID = '.6.‘按组 品牌,号码文件名: C:/wamp64/www/CodeIgniter/system/database/DB_driver.php 线路号码: 691

EN

回答 2

Stack Overflow用户

发布于 2017-08-24 23:40:17

GROUP BY子句并不包含SELECT中的所有非聚集字段,比如ART_LOOKUP.ARL_KIND、ART_LOOKUP.ARL_ART_ID、DES_TEXTS.TEX_TEXT AS ART_COMPLETE_DES_TEXT。

看这个链接了解更多..。

https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html

或者把这些字段添加到你的组中?

票数 0
EN

Stack Overflow用户

发布于 2017-08-25 02:28:42

这与您的查询没有任何问题-- mysql配置问题

溶液.

打开my.cnf Mysql配置文件

把这段代码放在那里,问题就解决了。

代码语言:javascript
复制
[mysqld]
sql_mode=''
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45872095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档