这是我在 Code Igniter 上的第一次真正的狂欢。我正在尝试将 mySql 查询的结果返回到表中。
我的模型:
public function generate_ecomm_data_report(){
$sql = "SELECT
COUNT(*) AS no_skus,
pd_vendor AS brand,
(SELECTCOUNT(DISTINCT(pd_model_code))
FROM iris_product_data
WHERE pd_vendor = PD.pd_vendor ) AS unique_models
FROM iris_product_data PD
GROUP BY pd_vendor
ORDER BY
COUNT(*) DESC";
$query = $this->db->query($sql);
return $query->result();
}
我的 Controller :
public function ecomma(){
$this->load->model('report_model');
$data ['query'] = $this->report_model->generate_ecomm_data_report();
$this->load->view('report_view', $data);
}
然而,当加载 Controller 时,我收到 1064 错误。任何人都可以在这里看到问题吗? (我已经排除了 View ,我认为这里没有问题)。
最佳答案
我猜你的问题出在 SQL 查询中 尝试从 view 的第一段代码开始编辑。更改第 5 行 ny 添加“AS pd_model_code
public function generate_ecomm_data_report(){
$sql = "SELECT
COUNT(*) AS no_skus,
pd_vendor AS brand,
(SELECT(COUNT(DISTINCT(pd_model_code)) AS pd_model_code
FROM iris_product_data
WHERE pd_vendor = PD.pd_vendor ) AS unique_models
FROM iris_product_data PD
GROUP BY pd_vendor
ORDER BY
COUNT(*) DESC";
$this->db->query($sql);
return $query->result();
}
一条建议:您以错误的方式使用了 MVC 模式 :) .. 尽量不要在 View 中使用任何类型的查询 ..
快乐编码:)
关于php - 代码点火器 : Displaying raw SQL query to table. 错误 1064,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34158691/