php y proc_almacenado

Mauro Morales mmorales en adsum.cl
Jue Ene 29 17:35:41 CLST 2004


> On Thu, 29 Jan 2004 12:46:21 -0300
> "Mauro A. Morales M." <mmorales en adsum.cl> wrote:
>
>> El jue, 29-01-2004 a las 15:31, Ricardo Muñoz A. escribió:
>> > On Thu, 29 Jan 2004 11:35:21 -0300
>> > "Rodrigo Miranda" <rodrigonibaldo en terra.cl> wrote:
>> >
>> > [...]
>> >
>> > > ejemplo aca esta un codigo mas que pequeño donde envio el string
>> =abcde al procedimiento "callenght" y este
>> > > me da una respuesta de la cantidad de caracteres de este,  osea
>> deberia responder  en este caso un "5" pero
>> > > si bien el valor como lo hago aca abajo lo adquiero de buena forma y
>> despues lo tiro por pantalla creo que
>> > > esta opcion $row["0"]   <-- sera optima, o es lo que se usa?
>> > >  $sql ="";
>> > >  $sql.=" select callenght('abcde')";
>> > >  $res  = pg_query($sql);
>> > >    while($row=pg_fetch_array($res)) {
>> > >      $num = $row["0"];
>> > >      echo $num;
>> > >    }
>> > >
>> > > Realmente como esto lo aprendi solo probando al tuntun no se si es
>> la opcion mas adecuada....
>> > > pido suegerencias.........
>> >
>> > tambien podrias probar con:
>> >
>> >   $sql = "select callenght('abcde') as cantidad";
>> >   $res = pg_query($sql);
>> >   $row = pg_fetch_array($res);
>> >   echo $row["cantidad"];
>>
>> OJO, si no te gusta trabajar con pg_fetch_array entonces puedes usar
>> pg_result; en el ejemplo:
>>
>>   $sql = "select callenght('abcde') as cantidad";
>>   $res = pg_query($sql);Trabajando con result sets de gran tama¤o,

>>   $row = pg_result($res,0,"cantidad");
>>   echo $row;
>>
>> Revisa bien la pagina de php.net y ve la comparacion entre fetch_array y
>> result (valido para PostgreSQL, MySQL, MSSQL y Sybase)
>
> según http://www.php.net/manual/es/function.pg-fetch-result.php
> justamente hay un detalle con los campos booleanos del PostgreSQL,
> pg_fetch_result los trae como "t" o "f", te refieres a eso??

Me refiero a lo siguiente
(http://cl.php.net/manual/es/function.pg-result.php)

Se debería considerar el uso de una de las funciones que capturan una fila
completa (especificadas abajo). Como estas funciones devuelven el
contenido de múltiples celdas en una sóla llamada, estas son MUCHO más
rápidas que pg_result(). También, observe que especificar una posición
númerica para el argumento field es mucho mas rápido que especificar el
nombre de un campo o utilizar la forma nombretabla.nombrecampo como
argumento.

Alternativas recomendadas para mayor rendimiento : pg_fetch_row(),
pg_fetch_array(), y pg_fetch_object().

Sin embargo estoy es valido para PHP < 4.2.0. PG_RESULT queda obsoleto en
PHP >= 4.2.0

PS: Entiendo que pg_result == pg_fetch_result en la nueva version de PHP.



>
> --
> Ricardo Muñoz A. - rmunoz en pjud.cl
> Usuario Linux #182825 (counter.li.org)
>