PHP Doku:: Gibt alle Werte einer bestimmten Spalte eines Abfrageergebnisses in einem Array zurück - function.pg-fetch-all-columns.html

Verlauf / Chronik / History: (1) anzeigen

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

Ein Service von Reinhard Neidl - Webprogrammierung.

PostgreSQL-Funktionen

<<pg_execute

pg_fetch_all>>

pg_fetch_all_columns

(PHP 5 >= 5.1.0)

pg_fetch_all_columnsGibt alle Werte einer bestimmten Spalte eines Abfrageergebnisses in einem Array zurück

Beschreibung

array pg_fetch_all_columns ( resource $result [, int $column = 0 ] )

pg_fetch_all_columns() gibt ein Array zurück, das alle Werte einer bestimmten Spalte eines Abfrageergebnisses enthält.

Hinweis: Diese Funktion setzt NULL-Felder auf den PHP Wert-NULL.

Parameter-Liste

result

PostgreSQL-Abfrageergebnis, das (unter anderem) von pg_query(), pg_query_params() oder pg_execute() zurückgegeben wurde.

column

Die Nummer der Spalte (beginnend bei 0), die aus dem Abfrageergebnis extrahiert werden soll. Falls nichts angegeben wurde, wird die erste Spalte ausgelesen.

Rückgabewerte

Ein array, in dem alle Werte der Ergebnisspalte gespeichert sind.

Falls die Spaltennummer column größer ist, als das Abfrageergebnis Spalten hat oder, wenn ein anderer Fehler auftritt, wird FALSE zurckgegeben.

Beispiele

Beispiel #1 pg_fetch_all_columns()-Beispiel

<?php
$conn 
pg_pconnect("dbname=publisher");
if (!
$conn) {
  echo 
"Ein Fehler ist aufgetreten.\n";
  exit;
}

$result pg_query($conn"SELECT title, name, address FROM authors");
if (!
$result) {
  echo 
"Ein Fehler ist aufgetreten.\n";
  exit;
}

// Die Namen aller Autoren in einem Array holen
$arr pg_fetch_all_columns($result1);

var_dump($arr);

?>

Siehe auch

  • pg_fetch_all() - Gibt alle Zeilen eines Abfrageergebnisses als Array zurück


2 BenutzerBeiträge:
- Beiträge aktualisieren...
strata_ranger at hotmail dot com
5.04.2009 4:43
Unfortunate that pg_fetch_all_columns() doesn't support fetching a column by its name -- if you want to do that, you'll need to use pg_field_num() as an intermediary:

For example:

<?php

if ($foo)
 
$cols = "email_address";

else
 
$cols = "last_name, middle_init";

$result = pg_query("Select first_name, $info, birthday from users_table");

// Problem -- does column #2 refer to the 'birthday' or 'middle_init' field?
$array = pg_fetch_all_columns($result, 2);

// Won't work, must use a column number instead of its name
$array = pg_fetch_all_columns($result, 'birthday');

// Works
$array = pg_fetch_all_columns($result, pg_field_num($result, 'birthday'));

?>
massiv at nerdshack dot com
22.10.2008 14:56
php 4 equivalent:

<?php
$conn
= pg_pconnect("dbname=publisher");
if (!
$conn) {
  echo
"An error occured.\n";
  exit;
}

$result = pg_query($conn, "SELECT title, name, address FROM authors");
if (!
$result) {
  echo
"An error occured.\n";
  exit;
}

// Get an array of all author names
$arr = array();
while (
$line = pg_fetch_array($result)) {
 
array_push($arr, $line['name']);
}

var_dump($arr);

?>



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",...)