PHP Doku:: Gibt asynchrone Abfrageergebnisse zurück - function.pg-get-result.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAnbieterspezifische DatenbankerweiterungenPostgreSQLPostgreSQL-Funktionenpg_get_result

Ein Service von Reinhard Neidl - Webprogrammierung.

PostgreSQL-Funktionen

<<pg_get_pid

pg_host>>

pg_get_result

(PHP 4 >= 4.2.0, PHP 5)

pg_get_result Gibt asynchrone Abfrageergebnisse zurück

Beschreibung

resource pg_get_result ([ resource $connection ] )

pg_get_result() gibt die Ergebniskennung einer asynchronen Abfrage zurück, die mit pg_send_query(), pg_send_query_params() oder pg_send_execute() an den Datenbankserver gesendet wurde.

Mit pg_send_query() und auch den anderen asynchronen Abfragefunktionen können mehrere Abfragen an den Server geschickt werden. Deren Ergebnisse können mit pg_get_result() nacheinander abgefragt werden.

Parameter-Liste

connection

PostgreSQL Verbindungskennung.

Rückgabewerte

Die Ergebniskennung als resource or FALSE, falls es keine Ergebnisse gibt.

Beispiele

Beispiel #1 pg_get_result() Beispiel

<?php
  $dbconn 
pg_connect("dbname=publisher") or die("Verbindungsaufbau fehlgeschlagen");

  if (!
pg_connection_busy($dbconn)) {
      
pg_send_query($dbconn"select * from authors; select count(*) from authors;");
  }
  
  
$res1 pg_get_result($dbconn);
  echo 
"Der erste Aufruf von pg_get_result(): $res1\n";
  
$rows1 pg_num_rows($res1);
  echo 
"$res1 hat $rows1 Zeilen\n\n";
  
  
$res2 pg_get_result($dbconn);
  echo 
"Der zweite Aufruf von pg_get_result(): $res2\n";
  
$rows2 pg_num_rows($res2);
  echo 
"$res2 hat $rows2 Zeilen\n";
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der erste Aufruf von pg_get_result(): Resource id #3
Resource id #3 hat 3 Zeilen

Der zweite Aufruf von pg_get_result(): Resource id #4
Resource id #4 hat 1 Zeilen

Siehe auch


2 BenutzerBeiträge:
- Beiträge aktualisieren...
Marko Tiikkaja
26.10.2008 2:14
william at 25thandClement dot com said: "There is no way to poll/wait for a notification to come in. .."
Yes, there is. If there is a query in progress, pg_get_result() will block and return the result of that query when it's complete.
william at 25thandClement dot com
28.01.2005 0:03
There is no way to poll/wait for a notification to come in. You either have to enter a busy loop or sleep. Both options are horrible. It would be nice for PHP to provide access to PQsocket so one could select() on the socket connection. This is how it's done from C or Perl.



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)