ibase_fetch_row devuelve un array de modo que para acceder a los campos debes indicar algo como:
Código PHP:
$fila = ibase_fetch_row($consulta);
echo $fila[0]; // Primer campo de la query
echo $fila[1]; // Segundo campo de la query
Si quiere que te devuelva un array asociativo tendrias que usar lo siguiente:
Código PHP:
$fila = ibase_fetch_assoc($consulta);
echo $fila['COD_MODELO'] ; // !Importante: El nombre del campo debe estar siempre en mayusculas.
Si quiere recibir un objeto, habria que usar:
Código PHP:
$fila= ibase_fetch_object($consulta);
echo $fila->COD_MODELO; // !Importante: Como antes en mayusculas
Otra cosa muy importante, te sobra la funcion ibase_num_fields,
esa funcion no sirve para lo que crees.
No indica el numero de registros devueltos por la query, sino el numero de
CAMPOS, es decir en tu ejemplo siempre te va a devolver el valor: 1 ,
(has indicado solo un campo cod_modelo en el SELECT).
Asi que elimina simplemente ese IF, no sirve para nada.
Cuando necesites saber exactamente que contiene dentro un array u objeto
de php, puedes indicar algo como lo siguiente:
Código PHP:
echo '<pre>';
echo print_r($file);
echo '</pre>';
Php te imprira el contenido interno de la variable en una estructura en forma de arbol, podras ver rapidamente que contiene (asi como saber si es un array normal, o un array asociativo o un objeto, etc).
Saludos