Thread: problems when fetching array contents.

problems when fetching array contents.

From
"J0nEz"
Date:
Hello,

I'm having problems fetching array contents.

Connection to my db is alright, the db data too.

Here is the problem:

I have a table named "configuration" containing Keys and Values of
Constants that have to be defined in php.

The code:

$configuration_query = pg_query("select configuration_key as cfgKey,
configuration_value as cfgValue from configuration");

  while ($configuration = tep_db_fetch_array($configuration_query)) {
    echo $configuration['cfgKey']; $configuration['cfgValue'];  // test
    define($configuration['cfgKey'], $configuration['cfgValue']);
  }

The problem I have is that although it passed through the while LOOP the
right number of times (= the number of entries in the table), I'm not
able to print any key or value (when I test using "echo
$configuration['cfgKey']..., it just writes nothing), and the php
constants are therefore not defined.
"configuration_key" and "configuration_value" are varchar(64)

Any one knows how to handle this? I'm using postgre 7.3.2 and php 4.3.1.

Thanks in advance,
Best Regards.

Jonas Vonlanthen


Re: problems when fetching array contents.

From
"Cornelia Boenigk"
Date:
Hi

>  while ($configuration = tep_db_fetch_array($configuration_query)) {

Why don't you use pg_fetch_array() or pg_fetch_assoc() or
pg_fetch_all()?

Conni


Re: problems when fetching array contents.

From
cmr@shell.gis.net
Date:
On Wed, Aug 13, 2003 at 07:24:03PM +0200, J0nEz wrote:
> Hello,
>
> I'm having problems fetching array contents.
>
> Connection to my db is alright, the db data too.
>
> Here is the problem:
>
> I have a table named "configuration" containing Keys and Values of
> Constants that have to be defined in php.
>
> The code:
>
> $configuration_query = pg_query("select configuration_key as cfgKey,
> configuration_value as cfgValue from configuration");
>

If this is your actual code, you are not passing the connection resource
variable to pg_query.
 (see here: http://us4.php.net/manual/en/function.pg-query.php )

>   while ($configuration = tep_db_fetch_array($configuration_query)) {
>     echo $configuration['cfgKey']; $configuration['cfgValue'];  // test
>     define($configuration['cfgKey'], $configuration['cfgValue']);
>   }
>

I would do a pg_fetch_array, and then foreach through the array like
this:

 $query_rows = pg_num_rows($resource_from_pg_query);
 for($iterator = 0; $iterator < $query_rows; $iterator++)
 {
   $my_db_array = pg_fetch_array($resource_from_pg_query)
   foreach ($my_db_array as $mdba_name => $mdba_value)
   {
     define("$mdba_name", "$mdba_value");
   }
 }


then a print_r(get_defined_vars) should give you your vars..

Hope this helps!

Chadwick