You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter中jQuery DataTables服务端模式失效求助

解决CodeIgniter + jQuery DataTables服务端模式的SQL 1096错误

嘿,这个问题我太熟悉了!你遇到的错误编号1096: 未使用表,本质就是生成的SQL语句SELECT * ORDER BY id_judul ASC LIMIT 2缺了关键的FROM [你的数据表名]部分——数据库根本不知道要从哪张表里取数据,可不就报错嘛。错误定位在Judul_model.php第88行,说明这一行的查询逻辑没正确指定数据表,咱们一步步来修:

第一步:揪出Model里的问题(重点看第88行)

先打开Judul_model.php找到第88行,大概率是构建查询的代码漏了指定数据表。分两种情况看:

如果你用的是CodeIgniter的Active Record

错误的写法(可能你现在就是这样):

// 这里没指定要查的表!
$this->db->select('*');
$this->db->order_by('id_judul', 'ASC');
$this->db->limit(2);
$query = $this->db->get(); // get()里没传表名,也没提前用from()指定

修复后的正确写法:

要么在get()里直接传数据表名(比如你的表叫judul),要么提前用from()指定:

$this->db->select('*');
$this->db->from('judul'); // 先指定表
$this->db->order_by('id_judul', 'ASC');
$this->db->limit(2);
$query = $this->db->get();

// 或者更简洁的链式写法:
$query = $this->db->select('*')
                  ->from('judul')
                  ->order_by('id_judul', 'ASC')
                  ->limit(2)
                  ->get();

如果你用的是原生SQL拼接

那就是写SQL的时候漏了FROM子句:

// 错误写法
$sql = "SELECT * ORDER BY id_judul ASC LIMIT 2";
// 修复写法,加上FROM和你的表名
$sql = "SELECT * FROM judul ORDER BY id_judul ASC LIMIT 2";
$query = $this->db->query($sql);

第二步:验证Controller的调用逻辑

确保Controller在调用Model的查询方法时,没遗漏必要的参数(比如如果Model是动态指定表的话)。举个例子:

// Controller里的方法
public function get_datatables()
{
    // 调用Model的查询方法时,确保Model内部已经正确指定了表
    $list = $this->judul_model->get_datatables();
    // ... 剩下的DataTables返回逻辑
}

如果你的Model是靠传参指定表,那得确认Controller传对了:

// Controller里
$target_table = 'judul';
$list = $this->judul_model->get_datatables($target_table);

// Model里对应的方法
public function get_datatables($table)
{
    $this->db->from($table); // 用传进来的表名
    // ... 其他查询逻辑
}

第三步:快速调试小技巧

要是还拿不准,就在Model执行查询前加一行代码,把最终生成的SQL打出来看看:

// 在$query = $this->db->get(); 之前加
echo $this->db->last_query();
die();

这样就能直接看到生成的SQL是不是真的缺了FROM子句,一目了然。另外也检查下Model里有没有什么条件判断,会不会导致from()或者指定表的代码被跳过了(比如某个if条件不满足,没执行到指定表的逻辑)。

内容的提问来源于stack exchange,提问作者Hendra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:24:59