Ну, если вы хотите иметь ресурс MySQL, вы должны использовать mysql_query
.
У Codeigniter уже есть метод, который будет выдавать вам по одной строке за раз: row_array
(на самом деле, у него есть две, другая - просто row
, но это возвращает объект, а не массив). Если вы хотите получить числовые индексы по результату result_array, используйте array_values:
$result = $this->db->query( "SELECT 'foo' as foo_rules FROM DUAL" );
$aso_arr = $result->row_array(); // assoc. array w/o numeric indexes
echo $aso_arr[ 'foo_rules' ];
$num_arr = array_values( $aso_arr );
echo $num_arr[ 0 ];
Если вы хотите получить весь результат выбора, используйте result
и result_array
(они ведут себя аналогично row и row_array, только они возвращают весь набор результатов в массиве)
EDIT
Я повторяю свое первое предложение, но вы можете получить ресурс MySQL следующим образом:
$result = $this->db->query( "SELECT 'foo' as foo_rules FROM DUAL" );
$resource = $result->result_id;
Но, поскольку это не задокументировано, его не следует считать поддерживаемым или даже ожидаемым поведением. Будьте предупреждены.