Toto je ve skutečnosti chyba v CodeIgniter. Když v ovladači ODBC (/system/database/drivers/odbc/odbc_driver.php) vyberete tabulku, použije se následující metoda:
function _from_tables($tables)
{
if ( ! is_array($tables))
{
$tables = array($tables);
}
return '('.implode(', ', $tables).')';
}
Pokouší se seskupit více výběrů tabulek dohromady, aby vynutil prioritu operátorů, to by mělo fungovat dobře, pokud používáte více než jednu tabulku, ale s jednou tabulkou se stále pokouší seskupit, což způsobuje chybu, kterou dostáváte.
Bohužel si nemyslím, že je možné rozšířit tyto soubory ovladače, takže možná budete muset upravit samotný soubor jádra. Berte to na vědomí pro případ, že byste v budoucnu potřebovali aktualizovat CodeIgniter, budete muset změnit metodu na něco podobného:
function _from_tables($tables)
{
if ( ! is_array($tables))
{
return strstr($tables, ',') ? '('.$tables.')' : $tables;
}
else
{
return count($tables) > 1 ? '('.implode(', ', $tables).')' : end($tables);
}
}