【问题标题】:Getting database error occured in CodeIgniterCodeIgniter 出现获取数据库错误
【发布时间】:2019-11-12 15:24:51
【问题描述】:

我在尝试使用 CodeIgniter 编辑数据时遇到此错误。

我的控制器:

public function edit_data($kode_part)
{
$tabel_part = $this->model_tabel_part->get_tabel_part("where kode_part ='$kode_part'");

foreach($tabel_part->result_array()as $row){
$kode_part   = $row['kode_part'];
$nama_part   = $row['nama_part'];
$warna_part  = $row['warna_part'];
$cavity      = $row['cavity'];
$gross       = $row['gross'];
}

$data['kode_part']   = $kode_part;
$data['nama_part']   = $nama_part;
$data['warna_part']  = $warna_part;
$data['cavity']      = $cavity;
$data['gross']       = $gross;

$this->load->view('datamaster/tabel_part/v_edit_part', $data);

}

我的模特:

public function get_tabel_part($where = ""){
$data_tabel_part = $this->db->query("select * from tabel_part".$where);
return $data_tabel_part;
}

我收到了这个错误:

发生数据库错误

错误号:1064

您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的“='34232-C0100'' 附近使用正确的语法

select * from tabel_partwhere kode_part ='34232-C0100'

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

行号:691

你能发现这里有什么不对吗?

【问题讨论】:

    标签: codeigniter


    【解决方案1】:

    您的错误信息是这样的...

    select * from tabel_partwhere kode_part ='34232-C0100'
    

    表名和“where”语句之间没有空格。 因此,在您的模型中,您需要在 SQL 中添加一个空格...

    所以这个...

    $data_tabel_part = $this->db->query("select * from tabel_part".$where);
    

    变成这样……

    $data_tabel_part = $this->db->query("select * from tabel_part ".$where); // Added Space
    

    【讨论】:

      【解决方案2】:

      请在表名和where子句之间加一个空格。

      public function get_tabel_part($where = ""){
          $data_tabel_part = $this->db->query("select * from tabel_part ".$where);
          return $data_tabel_part;
      }
      

      【讨论】:

        猜你喜欢
        • 2014-07-02
        • 2017-02-12
        • 1970-01-01
        • 1970-01-01
        • 2013-06-07
        • 2016-12-15
        • 1970-01-01
        • 1970-01-01
        • 2020-09-02
        相关资源
        最近更新 更多