我有一个功能:
function datatables ()
{
$this->db->select('
(CASE
WHEN L_Type_Name="Khusus"
THEN CONCAT("<i id=",L_Type_ID," class=\"formUpdate\" title=\"Ubah\"></i> <i id=",L_Type_ID," class=\"formDelete\" title=\"Hapus\"></i>")
END) Option');
$this->db->from('leave_type');
return $this->datatables->generate();
}
执行时,错误:
<h1>A Database Error Occurred</h1>
<p>Error Number: 1064</p><p>You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'L_Type_ID`, " class=\"formDelete\" title=\"Hapus\"></i>")
END) Option
FRO' at line 3</p><p>SELECT (CASE
WHEN L_Type_Name="Khusus"
THEN CONCAT("<i id=", `L_Type_ID`, " class=\"formUpdate\" title=\"Ubah\"></i> <i `id="`, `L_Type_ID`, " class=\"formDelete\" title=\"Hapus\"></i>")
END) Option
FROM `leave_type`</p><p>Filename: C:/XAMPP/htdocs/sicuti/system/database/DB_driver.php</p><p>Line Number: 691</p>
我认为发生了错误,因为这里有一个引用/反引号:
<i `id="`, `L_Type_ID`, "
然后我在这里添加了FALSE参数来删除Quote / Backtick:
$this->db->select('',FALSE);
在这里:
$this->db->from('',false);
但是,发生另一个错误,表明没有使用表:
<h1>A Database Error Occurred</h1>
<p>Error Number: 1096</p><p>No tables used</p><p>SELECT *</p><p>Filename: C:/XAMPP/htdocs/sicuti/system/database/DB_driver.php</p><p>Line Number: 691</p>
我删除了一个FALSE参数 $ this-&gt; db-&gt; select()和$ this-&gt; db-&gt; from(),同样的错误1096。
我的代码出了什么问题? 以前我谢谢你......
答案 0 :(得分:2)
感谢您的回答,我发现了我的错误,我应该使用数据表查询构建器:($ this-&gt; datatables)而不是CI:($ this-&gt; db)。
$this->datatables->select('
(CASE
WHEN L_Type_Name="Khusus"
THEN CONCAT("<i id=",L_Type_ID," class=\"formUpdate\" title=\"Ubah\"></i> <i id=",L_Type_ID," class=\"formDelete\" title=\"Hapus\"></i>")
END) Option', false);
$this->datatables->from('leave_type');
return $this->datatables->generate();
答案 1 :(得分:1)
我认为您在from
和select
中都使用了false,您只需要在false
中使用select()
尝试使用:
$this->datatables->select('
(CASE
WHEN leave_type.L_Type_Name="Khusus"
THEN CONCAT("<i id=",leave_type.L_Type_ID," class=\"formUpdate\" title=\"Ubah\"></i> <i id=",leave_type.L_Type_ID," class=\"formDelete\" title=\"Hapus\"></i>")
END) Option', false);
$this->datatables->from('leave_type');
return $this->datatables->generate();