string pg_escape_string(string text)
Функция pg_escape_string возвращает двоичные данные, подготовленные для использования в запросе, с удалением специальных символов. Эту функцию можно использовать вместо функции addslashes. 
array pg_fetch_all(resource result)
Функция pg_fetch_all (листинг 17.44) возвращает полный результирующий набор. PHP индексирует каждую строку целым числом, начиная с нуля. Каждый элемент является массивом, проиндексированным по имени столбца.

Листинг 17.44. Функция pg_fetch_all

<?php
//Подключиться к базе данных $Link = pg_connect(" " .
"dbname=freetrade " .
"user=freetrade " .
"password=freetrade"); // получить все записи таблицы SKU $Query = "SELECT ID, Name " .
"FROM sku ";
// выполнить запрос
$Result = pg_query($Link, $Query); //получить весь результирующий набор $Row = pg_fetch_all($Result); print_r($Row);
?>

array pg_fetch_array(resource result, integer row, integer type)
Функция pg_fetch_array (листинг 17.45) возвращает массив, содержащий значения всех полей, для заданной строки. Для поиска следующей строки номер строки можно не задавать.
PHP индексирует значения по номеру, начиная с нуля, и имени столбца. Каждый вызов функции pg_fetch_array возвращает следующую строку или значение FALSE, если больше строк не осталось. Управлять массивом возвращаемых значений можно с помощью аргумента type, который может иметь одно из следующих значений:
PGSQL_ASSOC, PGSQL_BOTH или PGSQL_NUM. При значении PGSQL_ASSOC PHP
индексирует только по именам столбцов, при значении PGSQL_NUM - только по номерам столбцов.
Сравните эту функцию с функциями pg_fetch_assoc и pg_fetch_row.

Листинг 17.45. Функция pg_fetch_array

<?php
// подключиться к базе данных $Link = pg_connect(" " .
"dbname=freetrade " .
"user=freetrade " .
"password=freetrade"); // получить все записи таблицы SKU $Query = "SELECT ID, Name " .
"FROM sku ";
// выполнить запрос 
$Result = pg_query($Link, $Query); // сделать проход по всем строкам while($Row = pg_fetch_array($Result)) {
print("($Row['id']} = {$Row['name']}<br>n");
}

array pg_fetch_assoc(resource result, integer row)
Функция pg_fetch_assoc возвращает массив, содержащий значения всех полей заданной строки. Для поиска следующей строки номер строки можно не задавать. PHP индексирует значения по имени столбца.
Сравните эту функцию с функциями pg_fetch_array и pg_fetch_row.
object pg_fetch_object(resource result, integer row)
Функция pg_fetch_object (листинг 17.46) возвращает объект с перечнем свойств всех полей. Каждое свойство имеет имя, соответствующее имени поля. Вызов pg_fetch_object возвращает следующую строку или значение FALSE, если строк больше не осталось.
Сравните эту функцию с функцией pg_fetch_array.

Листинг 17.46. Функция pg_fetch_object

<?php
// подключиться к базе данных $Link = pg_connect(" " .
"dbname=freetrade " .
"user=freetrade " .
"password=freetrade"); // получить все записи таблицы SKU $Query = "SELECT ID, Name " .
"FROM sku ";
// выполнить запрос
$Result = pg_query($Link, $Query); // сделать проход по всем строкам while($Row = pg_fetch_object($Result))
{
print("$Row->id = $Row->name<br>n");
}

string pg_fetch_result(resource result, integer row, value field)
Функция pg_fetch_result (листинг 17.47) предназначена для получения значения определенного поля из результирующего набора; поля могут быть как пронумерованы с нуля, так и обозначены по имени. 
Листинг 17.47. Функция pg_fetch_result

<?php
// подключиться к базе данных $Link = pg_connect(" " .
"dbname=freetrade " .
"user=freetrade " .
"password=freetrade"); // распечатать информацию о соединении print("Соединение установлено^^^"); print("Узел: " . pg_host($Link) . "<br>n"); print("Порт: " . pg_port($Link) . "<br>n"); print("База данных: " . pg_dbname($Link) . "<br>n"); print("Параметры: " . pg_options($Link) . "<br>n"); print("<br>n"); // создать запрос $Query = "SELECT * " .
"FROM session "; // выполнить запрос
if(!($Result = pg_query($Link, $Query)))
{
print("Невозможно выполнить запрос: "); print(pg_last_error($Link));

print("<br>n"); exit;
}
// распечатать все строки таблицы print("<table border="1">n"); // распечатать строку с заголовками print("<tr>n");
for($Field=0; $Field < pg_num_fields($Result); $Field++)
{
print("<th>");
print(pg_field_name($Result, $Field) . "<br>");
print(pg_field_type($Result, $Field));
print("(" . pg_field_size($Result, $Field) . ")");
print("</th>n");
}
print("</tr>n"); // обход по строкам
for($Row=0; $Row < pg_num_rows($Result); $Row++)
{
print("<tr>n");
for($Field=0; $Field < pg_num_fields($Result); $Field++)
{
print("<td>");
if(pg_field_is_null($Result, $Row, $Field))
{
print("NULL");
}
else
{
print(pg_fetch_result($Result, $Row, $Field));

print("</td>n");
}
print("</tr>n");
}
print("</table>n");
// освободить память и закрыть соединение
pg_freeresult($Result);
pg_close($Link);
?>