【发布时间】:2018-02-02 22:54:52
【问题描述】:
我希望显示 SQL 请求的结果,但我的代码返回了一个我无法解决的错误。如果有人可以帮助我,我将不胜感激。
我正在使用 Codeigniter。
<?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 列表的表达式 #3 不在 GROUP BY 子句中,并且包含非聚合列 'dpazine.ART_LOOKUP.ARL_KIND',它在功能上不依赖于 GROUP BY 子句中的列;这与 sql_mode=only_full_group_by 不兼容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在 BRANDS.BRA_ID = ART_LOOKUP.ARL_BRA_ID 上加入品牌 在 ARTICLES.ART_ID = ART_LOOKUP.ARL_ART_ID 上加入品牌= DESIGNATIONS.DES_TEX_ID WHERE ART_LOOKUP.ARL_SEARCH_NUMBER = '.533001410.' AND ART_LOOKUP.ARL_KIND IN (1, 2, 3, 4) AND DESIGNATIONS.DES_LNG_ID = '.6.'分组
品牌,号码文件名:C:/wamp64/www/CodeIgniter/system/database/DB_driver.php
行号:691
【问题讨论】:
-
先在 phpmyadmin 中运行查询并检查
标签: php mysql sql-server codeigniter