【问题标题】:Operand should contain 1 column(s) Codeigniter操作数应包含 1 列 Codeigniter
【发布时间】:2020-03-10 02:28:19
【问题描述】:

is my query okay ?

public function parse()
{
    $db4 = $this->load->database('db4', TRUE);
    $query = $db4->query(' INSERT INTO test (nik, nama, status, bulan, tahun, hk, hb, lembur, gp, obat, transport, tunjangan, bpjs) SELECT (`karyawan`.`no_nik`, `karyawan`.`nama`, `karyawan`.`kd_status`, `absensi`.`bulan`, `absensi`.`tahun`, `absensi`.`hk`, `absensi`.`hari_besar`, `absensi`.`lembur`, `karyawan`.`gapok`, `karyawan`.`obat`, `karyawan`.`transport`, `karyawan`.`tunjangan`, `karyawan`.`bpjs`) FROM karyawan LEFT JOIN absensi ON `karyawan`.`no_nik` = `absensi`.`nik` ');
}

notification of error

【问题讨论】:

    标签: mysql codeigniter


    【解决方案1】:

    我认为 karyawan.no_nik = absensi.nik 部分的问题,其中字段 no_niknik 不存在,因为它正在谈论:操作数

    尝试在 phpmyadmin 或一些 mysql gui 中运行此查询:

    SELECT 
           karyawan.no_nik    AS nik,
           karyawan.nama,
           karyawan.kd_status AS status,
           absensi.bulan,
           absensi.tahun,
           absensi.hk,
           absensi.hari_besar AS hb,
           absensi.lembur,
           karyawan.gapok     AS gp,
           karyawan.obat,
           karyawan.transport,
           karyawan.tunjangan,
           karyawan.bpjs
    FROM karyawan
             LEFT JOIN absensi ON (karyawan.no_nik = absensi.nik)
    

    如果查询成功,则在括号内限定SELECT 可能会解决问题:

    public function parse()
    {
        $db4 = $this->load->database('db4', TRUE);
        $query = '
          INSERT INTO test 
          (nik, nama, status, bulan, tahun, hk, hb, lembur, gp, obat, transport, tunjangan, bpjs)
          (
            SELECT karyawan.no_nik    AS nik,
                   karyawan.nama,
                   karyawan.kd_status AS status,
                   absensi.bulan,
                   absensi.tahun,
                   absensi.hk,
                   absensi.hari_besar AS hb,
                   absensi.lembur,
                   karyawan.gapok     AS gp,
                   karyawan.obat,
                   karyawan.transport,
                   karyawan.tunjangan,
                   karyawan.bpjs
            FROM karyawan
                     LEFT JOIN absensi ON (karyawan.no_nik = absensi.nik)
          )
        ';
        $query = $db4->query($query);
    }
    

    【讨论】:

    • @ekosanto2008 出了什么问题?你只是粘贴了它就可以了?
    • 我刚刚删除了 => () in SELECT $query = $db4->query(' INSERT INTO test (nik, nama, status, blan, tahun, hk, hb, lembur, gp, obat , 运输, tunjangan, bpjs) 选择karyawan.no_nik, karyawan.nama, karyawan.kd_status, absensi.bulan, tahun.tahun987654337 @.hk, absensi.hari_besar, absensi.lembur, karyawan.gapok, karyawan.obat, absensi, absensi, @9876 tunjangan, karyawan.bpjs FROM karyawan LEFT JOIN Absensi ON karyawan.no_nik = absensi.nik ');
    • @ekosanto2008 似乎您的问题与格式有关。太好了,你解决了。
    猜你喜欢
    • 1970-01-01
    • 2023-03-29
    • 2012-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-26
    相关资源
    最近更新 更多