sql >> Database teknologi >  >> RDS >> Sqlserver

kodetænder og odbc-forbindelser

Dette er faktisk en fejl i CodeIgniter. I ODBC-driveren (/system/database/drivers/odbc/odbc_driver.php), når du vælger en tabel, bruger den følgende metode:

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

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

Den forsøger at gruppere flere tabelvalg sammen for at gennemtvinge operatørprioritet. Dette burde fungere fint, hvis du bruger mere end én tabel, men med én tabel forsøger den stadig at gruppere den, hvilket forårsager den fejl, du får.

Desværre tror jeg ikke det er muligt at udvide disse driverfiler, så du skal muligvis redigere selve kernefilen. Vær opmærksom på dette, hvis du skal opdatere CodeIgniter i fremtiden, du bliver nødt til at ændre metoden til noget i stil med følgende:

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



  1. MySQL - VÆLG, JOIN

  2. Python cx_Oracle forberedt erklæring med qmark

  3. Hvordan fanger jeg MySQL-fejlkoder og meddelelser ved hjælp af Laravel 5.2?

  4. Java Mysql-forespørgselsdatabase med forbindelse