यह वास्तव में कोडइग्निटर में एक बग है। ODBC ड्राइवर में (/system/database/drivers/odbc/odbc_driver.php) जब आप कोई तालिका चुनते हैं तो यह निम्न विधि का उपयोग करती है:
function _from_tables($tables)
{
if ( ! is_array($tables))
{
$tables = array($tables);
}
return '('.implode(', ', $tables).')';
}
यह ऑपरेटर वरीयता को लागू करने के लिए कई तालिका चयनों को एक साथ समूहित करने का प्रयास करता है, यदि आप एक से अधिक तालिका का उपयोग कर रहे हैं तो यह ठीक काम करना चाहिए, हालांकि एक तालिका के साथ यह अभी भी इसे समूहबद्ध करने का प्रयास करता है जो आपको प्राप्त होने वाली त्रुटि का कारण बनता है।
दुर्भाग्य से, मुझे विश्वास नहीं है कि इन ड्राइवर फ़ाइलों का विस्तार करना संभव है, इसलिए आपको मूल फ़ाइल को ही संपादित करना पड़ सकता है। यदि आपको भविष्य में कोडइग्निटर को अपडेट करने की आवश्यकता है, तो इस पर ध्यान दें, आपको इस विधि को कुछ इस तरह बदलना होगा:
function _from_tables($tables)
{
if ( ! is_array($tables))
{
return strstr($tables, ',') ? '('.$tables.')' : $tables;
}
else
{
return count($tables) > 1 ? '('.implode(', ', $tables).')' : end($tables);
}
}