W rzeczywistości jest to błąd w CodeIgniter. W sterowniku ODBC (/system/database/drivers/odbc/odbc_driver.php) po wybraniu tabeli używa on następującej metody:
function _from_tables($tables)
{
if ( ! is_array($tables))
{
$tables = array($tables);
}
return '('.implode(', ', $tables).')';
}
Próbuje zgrupować wiele tabel, aby wymusić pierwszeństwo operatorów, powinno to działać dobrze, jeśli używasz więcej niż jednej tabeli, jednak z jedną tabelą nadal próbuje ją zgrupować, co powoduje błąd, który otrzymujesz.
Niestety nie wierzę, że jest możliwe rozszerzenie tych plików sterowników, więc być może będziesz musiał edytować sam plik core. Zwróć uwagę na to, jeśli będziesz musiał zaktualizować CodeIgniter w przyszłości, będziesz musiał zmienić metodę na coś podobnego do następującego:
function _from_tables($tables)
{
if ( ! is_array($tables))
{
return strstr($tables, ',') ? '('.$tables.')' : $tables;
}
else
{
return count($tables) > 1 ? '('.implode(', ', $tables).')' : end($tables);
}
}