Re: display query results

Поиск
Список
Период
Сортировка
От PJ
Тема Re: display query results
Дата
Msg-id 4890CA07.2040405@videotron.ca
обсуждение исходный текст
Ответ на display query results  (PJ <af.gourmet@videotron.ca>)
Ответы Re: display query results
Re: display query results
Список pgsql-php
Lynna Landstreet wrote:
> PJ wrote:
>> I've been looking at the pg_fetch_* functions but do not understand
>> one little bit.
>> Using your suggestion gives a blank screen but var_dump($myarray)
>> gives "bool(false)"
>> And a var_dump($results) returns "resource(3) of type (pgsql result)
>> while print_r($results) returns "Resource id#3"
>> I'm totally lost. :(
>> Perhaps my query isn't well formulated?
>> What I am trying to locate (or print out) is the string found the
>> "description" column whre the row in the "name" column is Alcohol.
>> item_id  ||  glossary_id ||  name     || description
>> 2           ||        2          || Alcohol  || One of thetwo
>> major.... blah...blah.. blah
>
> You can't print the results of a query directly - the format they are
> retrieved in is not just a regular PHP array. That's what the various
> "fetch" options do - they pull the data out of the resultset into a
> regular variable (single or array, depending on which one you use) so
> that you can print it or otherwise treat it as a normal variable.
>
> pg_fetch_result fetches a single value (string, integer, whatever it
> might be) and stores it in a variable. You have to tell it exactly
> which row and column from the result set you want. If you're only
> after one value, use this.
>
> pg_fetch_array and pg_fetch_assoc each fetch a whole row of data, as
> an array. The different between them is that with the first one, the
> array keys are just numbers, and with the second, it's an associative
> array where the keys are the names of the columns in your database. If
> you've only retrieved one row, but need more than one value from that
> row, use one of these.
>
> pg_fetch_all fetches *all* the rows from your result set, as a
> multidimensional array. If your query is likely to have retrieved
> multiple rows, use this.
>
> Does that help?
Well, it does explain things a little. Unfortunately, I have tried about
everything imaginable before posting except the right thing.
I can not visualize what it is that my query is returning. Here is what
the code is:

<?php
        $db = pg_connect("host=localhost port=5432 dbname=med user=med
password=0tscc71");

         if (!$db)
         {
         die("Could not open connection to database server");
         }

          // generate and execute a query
         $query = "SELECT description FROM glossary_item WHERE
 name='Alcohol'";
         $results = pg_query($db, $query) or die("Error in query: $query.
         " . pg_last_error($db));
var_dump ($results);
         $val = pg_fetch_result($results, 1, 3);
            echo $val, "\n";
         pg_close($db);
        ?>

Whatever  I enter as values for pg_fetch_result, the screen output is :

resource(3) or type (pgsql result)
*Warning*: pg_fetch_result() [function.pg-fetch-result
<http://biggie/k2/function.pg-fetch-result>]: Unable to jump to row 1 on
PostgreSQL result index 3 in
*/usr/local/www/apache22/data/k2/test1_db.php* on line *29*

I don't understand what $resuts is returning - if it is an entire row,
the one that the field is in that I am looking for, then why do I not
get a printout of the text that is in that field? The row in the table
is the second row and the field I am trying to retrieve is the 4th field.
Am I querying correctly? The table is "glossary_item", the row I want is
the one that is unique in containing the word "Alcohol" in the column
"name"

I changed:   $query = "SELECT * FROM glossary_item WHERE name= 'Alcohol'";
same result

Picture me tearing out my hair...

В списке pgsql-php по дате отправления:

Предыдущее
От: Raymond O'Donnell
Дата:
Сообщение: Re: display query results
Следующее
От: Lynna Landstreet
Дата:
Сообщение: Re: display query results