簡體   English   中英

內部加入codeigniter

[英]Inner join in codeigniter

這是錯誤...

發生數據庫錯誤

錯誤編號:23000/1052

字段列表中的列“ id”不明確

tbl_vendor聯接中選擇SELECT id tbl_item ON id = vendor_id WHERE shop ='BVC'

文件名:C:/xampp/htdocs/parts/system/database/DB_driver.php

行號:691

$shop= $this->input->post('vendor');
                      $this->db->select('id');
                      $this->db->from('tbl_vendor');
                      $this->db->join('tbl_item', 'vendor_id=id', 'inner');
                      $this->db->where('shop', $shop);
                      $query=$this->db->get();

只需將表名添加為模棱兩可,如下所示:

$shop= $this->input->post('vendor');
                      $this->db->select('tbl_vendor.id');
                      $this->db->from('tbl_vendor');
                      $this->db->join('tbl_item', 'tbl_item.id=tbl_vendor.id','inner');
                      $this->db->where('tbl_vendor.shop', $shop);
                      $query=$this->db->get();
                      $data=$query->result_array();

這樣該查詢將是SELECT tbl_vendor.id FROM tbl_vendor INNER JOIN tbl_item ON tbl_vendor.id=tbl_item.id WHERE tbl_vendor.shop = 'BVCSELECT tbl_vendor.id FROM tbl_vendor INNER JOIN tbl_item ON tbl_vendor.id=tbl_item.id WHERE tbl_vendor.shop = 'BVC '

更多信息請點擊這里

您收到的錯誤表示您正在查詢的一個或多個表中存在字段名稱“ id”,請您寫下每個表中的哪些列? 給表命名並與字段一起使用將解決您的問題:例如tbl_vendor.id

因為您必須對列進行相同嘗試

$shop = $this->input->post('vendor');

$query = $this->db->select('i.id, v.id as vender_id')
                  ->from('tbl_vendor v')
                  ->join('tbl_item i', 'i.id = v.id')
                  ->where('v.shop', $shop)
                  ->get();

return $query->row_array();

注意:

  • row_array()將返回單個項目
  • result_array()多個項目

https://www.codeigniter.com/user_guide/database/results.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM