2015-04-08 3 views
0

Я использую ajax для извлечения данных из базы данных и получаю от этого странного внутреннего запроса 500 сервера, и я не могу понять, что с ним не так. Проблема связана с ->get()->result(), когда я удаляю, что я не получаю внутреннюю ошибку сервера в качестве ответа. Весь запрос:Внутренняя ошибка сервера 500 на codeigniter Query

$this->db->select('bikes.store_id')->from('mappings')->where('mappings.product_id', $prod_id)->join('bikes', 'bikes.product_id = mappings.product_id')->get()->result() 
+0

Попробуйте 'print_r ($ result)' вашего запроса есть какая-либо ошибка .. –

+0

Как я могу напечатать_r результат, когда он дает ошибка внутреннего сервера в запросе. Я попробовал обернуть print_r вокруг него, но все еще получаю внутреннюю ошибку сервера. – Jordy

+0

Попробуйте 'print_r ($ result); exit;' и проверьте, что вы получаете там –

ответ

0

Ваш неверный запрос о присоединении.

$this->db->select('bikes.store_id')->from('mappings')->join('bikes', 'bikes.product_id = mappings.product_id')->where('mappings.product_id', $prod_id)->get()->result(); 

Попробуйте этот запрос.

Чтобы узнать, какой запрос сгенерирован, напишите ниже в своем контроллере.

$this->output->enable_profiler(TRUE); 
+0

Класс codeigniter db поместит его в правильном порядке, но я попробовал и ваш ответ, но не повезло. – Jordy

+0

Вы уверены, что у вас есть соответствующие записи в соответствии с запросом, так как вы можете только получить результат, если вы найдете какую-либо запись в БД, иначе он вернет bool (false) в ответ. – Dhruvisha

+0

Я до сих пор не получил ошибку внутреннего сервера, я сохраняю ответ в переменной и он дает мне внутреннюю ошибку сервера при выполнении самого запроса. – Jordy

0

Попробуйте этот код, вы misplaces кое-что:

$this->db->select('bikes.store_id')->from('mappings')->join('bikes', 'bikes.product_id = mappings.product_id','left')->where('mappings.product_id', $prod_id); 
$result = $this->db->get()->result(); 

Вы можете получить данные с помощью $ результат действительно.

+0

Ничего не получилось для меня. – Jordy

+0

Я отредактировал свой ответ ... попробуйте добавить «left» в join –

+0

Также попробовал это, попробовал еще раз и не работал – Jordy

0
$this->db->select('bikes.store_id'); 
$this->db->from('mappings'); 
$this->db->join('bikes', 'bikes.product_id = mappings.product_id','left'); 
$this->db->where('mappings.product_id', $prod_id); 
$query = $this->db->get(); 
return $query->result(); 

попробовать это out.if он не работает, попробуйте эхо $ this-> db-> last_query();, чтобы получить последний SQL-запрос. Вернитесь с ошибкой. Удостоверьтесь, что она решает вашу проблему.

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