Detta är faktiskt en bugg i CodeIgniter. När du väljer en tabell i ODBC-drivrutinen (/system/database/drivers/odbc/odbc_driver.php) använder den följande metod:
function _from_tables($tables)
{
if ( ! is_array($tables))
{
$tables = array($tables);
}
return '('.implode(', ', $tables).')';
}
Den försöker gruppera flera tabellval tillsammans för att framtvinga operatörsprioritet, detta borde fungera bra om du använder mer än en tabell, men med en tabell försöker den fortfarande gruppera den vilket orsakar felet du får.
Tyvärr tror jag inte att det är möjligt att utöka dessa drivrutinsfiler så du kan behöva redigera själva kärnfilen. Notera detta om du behöver uppdatera CodeIgniter i framtiden, du måste ändra metoden till något i stil med följande:
function _from_tables($tables)
{
if ( ! is_array($tables))
{
return strstr($tables, ',') ? '('.$tables.')' : $tables;
}
else
{
return count($tables) > 1 ? '('.implode(', ', $tables).')' : end($tables);
}
}