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 по дате отправления: