Skip site navigation (1) Skip section navigation (2)

Re: [pgsql-ayuda] pg_exec

From: Bruno Unna <bruno(at)iac(dot)com(dot)mx>
To: pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: Re: [pgsql-ayuda] pg_exec
Date: 1998-11-05 20:58:41
Message-ID: 36421181.1AF75328@iac.com.mx (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Enrique Cárdenas Hoeflich wrote:
> 
> Estoy usando php para crear un contador de paginas...  secuencias en
> postgres para tal efecto...pero creo que no estoy usando adecuadamente
> pg_exec...o que debo de usar...el codigo es el siguiente:
> 
> <?php
> function fcont($cont)
> {
>         $q = "SELECT nextval('" . $cont . "');";
>         $qu = pg_exec ($dbcont, $q);
>         $row = 0;
>         print pg_numrows($qu);
>         if (pg_numrows($qu) > 0)  {
>             $data = pg_fetch_object ($qu, $row);
>             return $data->nextval;
>         }
>         else {    return "ERROR";
>         }
> }
> 
> $dbcont = pg_connect ("", "", "", "", "contadores");
> if (!$dbcont): ?>
>     <H1>Error al conectar la Base de Datos de Contadores</H1> <?
>     exit;
> endif;
> print fcont("prueba1");
> ?>
> 
> la secuencia es prueba1...y me muestra el siguente error...
> 
> Warning: 0 is not a PostgresSQL link index in contador.inc on line 5
> 
> Warning: 0 is not a PostgresSQL result index in contador.inc on line 7
> 
> Warning: 0 is not a PostgresSQL result index in contador.inc on line 8
> ERROR
> 
> El valor de $q resulta "Select nextval('prueba1');"
> 
> Alguien me puede hechar una manita???
> 
> Creo que en el ejemplo que nos presento Bruno en C usando secuencias esta la
> respuesta...pero perdi esa informacion...
> 
> Gracias....
> 

Enrique, yo creo que tu problema está en la variable $dbcont.

Las variables dentro de las funciones se vuelven locales a éstas.

Si quieres tener acceso, dentro de la funcion fcont, a la variable 
global $dbcont, debes declarar la variable como global. Algo así:

<?php
function fcont($cont)
{
	global $dbcont;      // <- ATENCION: esta es la linea
        $q = "SELECT nextval('" . $cont . "');";
        $qu = pg_exec ($dbcont, $q);
...


Suerte.
-- 
"Create like a god,                Bruno Unna <bruno(at)iac(dot)com(dot)mx>
 command like a king,                     Desarrollo de Software
 and work like a slave."                Internet de Alta Calidad
             Kawasaki                   PGP public key available
--------- Pie de mensaje -------------------------------------------
Archivo historico: http://tlali.iztacala.unam.mx/maillist/pgsql-ayuda
Cancelar inscripcion:
mail to: majordomo(at)tlali(dot)iztacala(dot)unam(dot)mx
text   : cancelacion pgsql-ayuda

In response to

pgsql-es-ayuda by date

Next:From: Enrique Cárdenas HoeflichDate: 1998-11-05 22:00:22
Subject: RE: [pgsql-ayuda] pg_exec
Previous:From: Ing. Roberto AndradeDate: 1998-11-05 20:22:51
Subject: Re: [pgsql-ayuda] Postgesql 6.4

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group