sql >> Base de Datos >  >> RDS >> Sqlserver

conexiones codeigniter y odbc

Esto es en realidad un error en CodeIgniter. En el controlador ODBC (/system/database/drivers/odbc/odbc_driver.php), cuando selecciona una tabla, utiliza el siguiente método:

function _from_tables($tables)
{
    if ( ! is_array($tables))
    {
        $tables = array($tables);
    }

    return '('.implode(', ', $tables).')';
}

Intenta agrupar varias selecciones de tablas para imponer la precedencia del operador, esto debería funcionar bien si está utilizando más de una tabla, sin embargo, con una tabla todavía intenta agruparla, lo que provoca el error que está recibiendo.

Lamentablemente, no creo que sea posible ampliar estos archivos de controlador, por lo que es posible que deba editar el archivo principal. Tome nota de esto en caso de que necesite actualizar CodeIgniter en el futuro, tendrá que cambiar el método a algo como lo siguiente:

function _from_tables($tables)
{
    if ( ! is_array($tables))
    {
        return strstr($tables, ',') ? '('.$tables.')' : $tables;
    }
    else
    {
        return count($tables) > 1 ? '('.implode(', ', $tables).')' : end($tables);
    }
}