错误号码:1064
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的“3”附近使用正确的语法
SELECT * FROM tbl_testimoni order by id DESC limit 3 offset'3'
文件名:D:\ wamp \ www \ obatrohanifinalcopy \ system \ database \ DB_driver.php
行号:330
您好,我的查询语法有问题。我认为问题出在limit
和offset
查询中。因为我在没有limit
和offset
的情况下尝试过,我的脚本可以正常运行。但是分页功能根据我的意愿不起作用。
这是我的控制者:
$url=$this->uri->segment(3,0);
$this->load->library('pagination');
$config['base_url'] = site_url().'/testimonial/all/';
$config['total_rows'] = $this->db->get('tbl_testimoni')->num_rows();
$config['per_page'] = 3;
$this->pagination->initialize($config);
$data['page']=$this->pagination->create_links();
$sql = " SELECT * FROM tbl_testimoni order by id DESC limit 3 offset ? ";
$binds = array($url);
$query = $this->db->query($sql, $binds);
$artikel = $query->result_array();
$data['action'] = 'testimonial/all';
$data['artikel'] = $artikel;
$data['content'] = 'content/testimoni';
$this->load->view('template/default', $data);
在我看来,使用此代码调用分页:
<?php if(!empty($page)) echo $page; ?>
我的代码无法正常运行。
注意:我在我以前的网站上使用过这个控制器和视图,但是我使用的是PostgreSQL并且它有效。
答案 0 :(得分:1)
尝试对$binds
$this->db->query($sql, intval($binds));
变量进行类型转换
此外,文档$this->uri->segment()
可能会返回布尔值,因此您可能也希望处理它。
答案 1 :(得分:0)
偏移量应该是数字而不是字符串“3”
当你通过$this->db->query($sql, $binds);
中的$ binds时,数据库驱动程序认为它是一个值并替换你的?使用'3'应该是OFFSET 3