ДА, ошибка в запросе, пропущена запятая
вот правильный запрос
foreach ($data['manufacturer_description'] as $language_id => $value) {
$this->db->query("INSERT INTO " . DB_PREFIX . "manufacturer_description SET manufacturer_id = '" . (int)$manufacturer_id . "', language_id = '" . (int)$language_id . "', description = '" . $this->db->escape($value['description']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_h1 = '" . $this->db->escape($value['meta_h1']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'");
}
И... при выборке непонятно зачем
вот решение
public function getManufacturers($data = array()) {
$sql = "SELECT * FROM " . DB_PREFIX . "manufacturer";
/* $sql = "SELECT c.manufacturer_id, c.name, c.sort_order FROM " . DB_PREFIX . "manufacturer c
LEFT JOIN " . DB_PREFIX . "manufacturer_description md ON (c.manufacturer_id = md.manufacturer_id)
WHERE md.language_id = '" . (int)$this->config->get('config_language_id') . "'";
*/