2016-03-14 2 views
0

У меня есть следующий SQL Query whic прекрасно работает в CodeIgniter версии 3 Он показывает ошибки в версии 2.SQL-запрос в CodeIgniter версии конфликта

$this->db->select('*'); 
    if($cond!=''){ 
    $this->db->where($cond); 
    } 
    $this->db->from('(select * from products1 where pr_id in('.implode(",",$condin).') order by pr_id asc) as a '); 
    $this->db->join(PRICE_TABLE.' as b','a.pr_id=b.pr_id','inner'); 
    $this->db->limit($limit); 
    $query=$this->db->get(); 
    return $query; 

Ошибка

A Database Error Occurred 

Error Number: 1064 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order by pr_id asc) as a) INNER JOIN `pr_product_attr_usa_new` as b ON `a`.`pr_i' at line 2 

SELECT * FROM ((select * from products1 where pr_id in(752, `6263`, `542`, `2059)` order by pr_id asc) as a) INNER JOIN `pr_product_attr_usa_new` as b ON `a`.`pr_id`=`b`.`pr_id` WHERE `b`.`pr_stock` = 'yes' LIMIT 6 

Filename: D:\XAMPP\htdocs\pr_sites\us\chk\system\database\DB_driver.php 

Line Number: 331 
+1

Обновите свой вопрос сообщением об ошибке. –

+0

затем попробуйте '$ this-> db-> query()' –

+0

@SankarV обновлен .. plz проверить его –

ответ

0

Этот вопрос связанные с кодом:
in('.implode(",",$condin).')

, какой выход:

(752, `6263`, `542`, `2059)` 

вместо:

(752, `6263`, `542`, `2059`) 

The `символ находится за пределами ')'.

+0

он выводит 'select * from products1 где pr_id in (752,6263,542,2059) заказать по pr_id asc'. это правильно –

+0

Проверьте сообщение об ошибке, которое вы добавили в вопрос. Символ 'находится за пределами ')'. –

Смежные вопросы