首页 > 解决方案 > codeigniter - 内部连接错误

问题描述

我想显示当我在视图中写 payTypeId 时,有写支付类型的任何名称。payTypeId 是数字字符串 1,2,3 比较 payTypeNameEn 中的名称,例如视图表中的 Package、Deposit 等。如何做相等的2个表,例如paymenttype和payment?当我写 payTypeId 时,视图表中会有支付类型的名称。我做了一些事情,但它给了我这个错误:

错误号:42000/1064 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以获取在第 3 行的“1)”附近使用的正确语法

选择paymenttypepayTypeId, paymenttype. payTypeNameEn, paymenttype. payTypeNameAr, payment. paymentTypepaymenttype加入payment使用 (1)

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

行号:691

看法:

<div class="form-group">
                                <div class="col-lg-12">
                                <h5 class=""><i class="fa fa-money"></i> Type of Payment:</h5>
                                <select class="js-example-basic-single" name="docFileDocType" required="required">
                                    <option value="" readonly>Select</option>
                                    <?php
                                    foreach($payments as $pay){ ?>
                                    <option value="<?php echo $pay->payTypeId; ?>"><?php echo $pay->payTypeId; ?></option>
                                    <?php  }?>
                                </select>
                            </div>
                            </div>

控制器:

$this->db->select('paymenttype.payTypeId,paymenttype.payTypeNameEn,paymenttype.payTypeNameAr,payment.paymentType,');
        $this->db->from('paymenttype');
        $this->db->join('payment' ,'payment.paymentType = paymenttype.payTypeId' AND 'payment.paymentType = paymenttype.payTypeNameEn' AND 'payment.paymentType = paymenttype.payTypeNameAr');
        $query = $this->db->get();
        if ($query->num_rows() > 0 )
        {
            $viewData['payments'] = $query->row();
        }

标签: phpcodeignitermysqlicodeigniter-3

解决方案


希望对你有帮助 :

$this->db->select('paymenttype.payTypeId,paymenttype.payTypeNameEn,paymenttype.payTypeNameAr,payment.paymentType');
$this->db->from('paymenttype');
$this->db->join('payment' ,'payment.paymentType = paymenttype.payTypeId AND payment.paymentType = paymenttype.payTypeNameEn AND payment.paymentType = paymenttype.payTypeNameAr');
$query = $this->db->get();
  //echo $this->db->last_query();
if ($query->num_rows() > 0 )
{
   $viewData['payments'] = $query->result();
   print_r($viewData);
}
else
{
  echo 'No records found !';
}

推荐阅读