problems when fetching array contents.

problems when fetching array contents.

am 13.08.2003 19:24:03 von J0nEz

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


---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html

Re: problems when fetching array contents.

am 13.08.2003 19:48:46 von Cornelia Boenigk

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


---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Re: problems when fetching array contents.

am 13.08.2003 20:17:52 von Chadwick Rolfs

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

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo@postgresql.org)