PDA

Ver la Versión Completa : Problemas con las funciones para ODBC


zuzen
21-01-2004, 20:01:10
Hola a todos,
El asunto es el siguiente: tengo una capa de abstracción idéntica a la sql_layer de PHP Nuke. La cuestión es que quiero que mi sitio trabaje "igualmente" con firebird (está funcionando correctamente) y que trabaje con Access. Para la copnexión con Access he creido oportuno utilizar el sistema ODBC.
La conexión la he realizado correctamente, las querys también las realaiza correctamente, pero el problema llega cuando quiero recorrer un recordset.
La función es la siguiente:

function sql_fetch_row(&$res, $dbii, $nr=0)
{
global $dbtype;
switch ($dbtype) {

case "MySQL":
$row = mysql_fetch_row($res);
return $row;
break;;

case "mSQL":
$row = msql_fetch_row($res);
return $row;
break;;

case "PostgreSQL":
case "PostgreSQL_local":
if ( $res->get_total_rows() > $res->get_fetched_rows() ) {
$row = pg_fetch_row($res->get_result(), $res->get_fetched_rows() );
$res->increment_fetched_rows();
return $row;
} else {
return false;
}
break;;

case "ODBC":
case "ODBC_Adabas":
$row = array();
$cols = odbc_fetch_into($res,&$row);
if (!$cols)
{
return false;
}
return $row;
break;;

case "Interbase":
$row = ibase_fetch_row($res);
return $row;
break;;

case "Sybase":
$row = sybase_fetch_row($res);
return $row;
break;;

default:
break;;
}
}


El problema es que tan sólo es capaz de mostrarme un registro del recordset. Si el recordset tiene más registros no los muestra y me da el siguiente error:

odbc_fetch_into(): supplied argument is not a valid ODBC result resource in...

Puede alguien ayudarme de alguna forma??

Gracias de antemano.