This function returns NULL if the parameter is false.
pg_fetch_all
(PHP 4 >= 4.3.0, PHP 5)
pg_fetch_all — 取得されたすべての行を配列として取得する
説明
array pg_fetch_all ( resource $result )pg_fetch_all()は、結果リソースのすべての行 (レコード)を保持する配列を返します。
注意: この関数は、 NULL フィールドに PHPの NULL 値を設定します。
パラメータ
- result
pg_query(), pg_query_params() あるいは pg_execute() から返される PostgreSQL の クエリ結果リソース。
返り値
結果のすべての行を含む配列を返します。それぞれの行は、フィールド名を 添字とするフィールド値の配列です。
結果の行数が 0 だった場合、あるいはその他のエラーが発生した場合に FALSE を返します。
例
例 1871. PostgreSQL fetch all
<?php
$conn = pg_pconnect("dbname=publisher");
if (!$conn) {
echo "An error occured.\n";
exit;
}
$result = pg_query($conn, "SELECT * FROM authors");
if (!$result) {
echo "An error occured.\n";
exit;
}
$arr = pg_fetch_all($result);
var_dump($arr);
?>
参考
| pg_fetch_row() |
| pg_fetch_array() |
| pg_fetch_object() |
| pg_fetch_result() |
pg_fetch_all
viniciusweb at gmail dot com
21-Mar-2005 11:20
21-Mar-2005 11:20
frig1 at gmx dot at
04-Feb-2005 01:15
04-Feb-2005 01:15
I'm using PHP 5.0.1 and pg_fetch_all and here pg_fetch_all is also not recognized as function
10-Jun-2003 09:36
Also for those who are trying to move off oracle, pg_fetch_all returns an array with rows and columns inverted in the sense of ocifetchall. You would need to transpose this result array before your code takes the first index a column name and the second index a row index.
php dot net at mechintosh dot com
17-May-2003 03:42
17-May-2003 03:42
For versions of PHP that don't yet support the new names or newer functions I wrote a couple functions like this one
if (! function_exists("pg_fetch_all")) {
function pg_fetch_all($res, $kind="assoc") {
$i = 0; // this is needed for the row integer in the looped pg_fetch_array
if ($kind == "assoc") {
while ($row = pg_fetch_array($res, $i, PGSQL_ASSOC)) {
$array_out[] = $row;
$i++;
}else{
while ($row = pg_fetch_array($res)) {
$array_out[] = $row;
}
}
return $array_out;
}
}
tasmanian at devil dot com
28-Mar-2003 03:42
28-Mar-2003 03:42
It seems like pg_fetch_all() only works on version 4.3.x. I tried it with 4.2.2 and it does not recognize the function, so I assume it won't work on 4 => 4.2.x.
jcomeau at whatisthewww dot com
20-Feb-2003 05:02
20-Feb-2003 05:02
pg_fetch_all, despite the app note, accepts only one argument, the resultset. It does exactly what is expected, returning a two-dimensional array of the resultset. I suspect the app note given was just copied from pg_fetch_array, which is what you want to use for a single row.