ГоловнаКаталогБлогРейтингЕ-Пошта 
 
 
Зробити домашньою у вибране  

  Функції PostgreSQL  
pg_Close
pg_cmdTuples
pg_Connect
pg_DBname
pg_ErrorMessage
pg_Exec
pg_Fetch_Array
pg_Fetch_Object
pg_Fetch_Row
pg_FieldIsNull
pg_FieldName
pg_FieldNum
pg_FieldPrtLen
pg_FieldSize
pg_FieldType
pg_FreeResult
pg_GetLastOid
pg_Host
pg_loclose
pg_locreate
pg_loopen
pg_loread
pg_loreadall
pg_lounlink
pg_lowrite
pg_NumFields
pg_NumRows
pg_Options
pg_pConnect
pg_Port
pg_Result
pg_tty

Pestgres, спочатку розроблений в комп'ютерному науковому відділі університету Берклі, відкрив багато об'єктно-орієнтованих концепцій, що стали тепер доступними комерційних базах даних. Pestgres забезпечує підтримку мови SQL92/SQL3, цілісність транзакцій, і розширення типів. POSTGRESQL є загальнодоступній СУБД з відкритим кодом. POSTGRESQL доступний безкоштовно. Остання версія доступна на www.postgreSQL.org.
З версії 6.3 (від 2 березня 1998 року) POSTGRESQL використовує сокети домена UNIX. Цей сокет може бути знайдений в каталозі /tmp/.s.PGSQL.5432. Ця властивість може бути включена за допомогою прапора –’’i’’ в postmaster і це означає "прослуховування сокетів TCP/IP", аналогічно сокетам домена UNIX.
Таблиця 1. Postmaster and PHP
Postmaster PHP Статус
postmaster & pg_connect("", "", "", "", "dbname"); OK
postmaster -i & pg_connect("", "", "", "", "dbname"); OK
postmaster & pg_connect("localhost", "", "", "", "dbname"); Неможливе з’єднання з сервером POSTGRESQL: збій connectDB(): Чи запущений postmaster і чи дозволено з'єднання TCP/IP (з прапором -i) на 'localhost' порт '5432'? у /path/to/file.php3 з рядку 20.
postmaster -i & pg_connect("localhost", "", "", "", "dbname"); OK

Можна також встановити з'єднання за допомогою команди: $conn = pg_Connect("host=localhost port=5432 dbname=chris");

Для використання інтерфейсу великих об'єктів (large objects) необхідно укласти їх в блок трансакції. Блок транзакції починається begin і, якщо транзакція пройшла успішно, завершується commit і end. Якщо транзакція дала збій, то транзакція повинна бути закрита за допомогою abort і rollback.

Приклад 1. Використання великих об'єктів
<?php
$database = pg_Connect ("", "", "", "", "jacarta");
pg_exec ($database, "begin");
$oid = pg_locreate ($database);
echo ("$oid\n");
$handle = pg_loopen ($database, $oid, "w");
echo ("$handle\n");
pg_lowrite ($handle, "gaga");
pg_loclose ($handle);
pg_exec ($database, "commit")
pg_exec ($database, "end")
?>


pg_Close

pg_Close – закриває з'єднання POSTGRESQL

Опис

bool pg_close(int connection);

Повертає false, якщо connection - не правильний номер з'єднання. Закриває з'єднання з базою POSTGRESQL, пов'язане з вказаним номером з'єднання.


pg_cmdTuples

pg_cmdTuples – повертає число викликаних tuples

Опис

int pg_cmdtuples(int result_id);

pg_cmdTuples() повертає число tuples (вимог), викликаних запитами INSERT, UPDATE, і DELETE. Якщо немає викликаних tuple, то функція поверне 0.

Приклад 1. pg_cmdtuples
<?php
$result = pg_exec($conn, "INSERT INTO verlag VALUES ('Autor')");
$cmdtuples = pg_cmdtuples($result);
echo $cmdtuples . " <- cmdtuples affected.";
?>


pg_Connect

pg_Connect – відкриває з'єднання

Опис

int pg_connect(string host, string port, string options, string tty, string dbname);

Повертає номер з'єднання при успіху або false, якщо з'єднання не може бути встановлене. Відкриває з'єднання з базою POSTGRESQL. Кожний з аргументів повинен бути в лапках, включаючи номер порту. Аргементи options і tty є додатковими і можуть бути опущені. Ця функція повертає номер з'єднання, який необхідний іншим функціям POSTGRESQL. Ви можете мати одночасно декілька відкритих з'єднань.

З'єднання може бути також встановлене наступною командою: $conn = pg_connect("dbname=marliese port=5432"); Додаткові параметри (окрім dbname і port) - це host, tty і options.

Див. також
pg_pConnect().


pg_DBname

pg_DBname – ім'я бази даних

Опис

string pg_dbname(int connection);

Повертає ім'я бази даних, з якою сполучений вказаний номер з'єднання POSTGRESQL, або повертає false, якщо вказаний не правильний номер з'єднання.


pg_ErrorMessage

pg_ErrorMessage – повідомлення про помилку

Опис

string pg_errormessage(int connection);

Повертає рядок, що містить повідомлення про помилку, або false при збої. Деталі про помилку, ймовірно, не можуть бути отримані за допомогою
pg_errormessage(), якщо помилка відбулася при останньому зверненні до бази даних, для якої існує вірний номер з'єднання, то функція поверне рядок, що містить повідомлення про помилку, видане сервером.


pg_Exec

pg_Exec – запускає запит

Опис

int pg_exec(int connection, string query);

Повертає ознаку результату, якщо запит може бути запущений, false при помилці або при невірному номері з'єднання. Деталі про помилку можуть отримані за допомогою функції
pg_ErrorMessage(), якщо номер з'єднання вірний. Функція посилає SQL запит базі даних POSTGRESQL, визначуваній номером з'єднання. Connection повинен бути вірним номером з'єднання, який повертається функцією .pg_Connect() Що повертається цією функцією значення є необхідним для доступу до результатів інших функцій POSTGRESQL.

Зауваження: PHP2 повертає 1, якщо запит не повинен повертати даних (наприклад, при вставці або оновленні) і більше 1, навіть при вибірках, які нічого не повертають. Таких допущень немає в PHP3.


pg_Fetch_Array

pg_Fetch_Array – повертає запис як масив

Опис

array pg_fetch_array(int result, int row);

Повертає масив, який посилається на отриманий запис, або false якщо більше немає записів.

pg_fetch_array() є розширеною версією pg_fetch_row(). На додаток до зберігання даних під числовими індексами в результуючому масиві, функція також зберігає дані під асоціативними індексами, використовуючи номери полий як ключі.

Необхідно відзначити, що функція pg_fetch_array() практично однакова за швидкістю з, хоч і надає додаткові можливості.

Для додаткової інформації див. pg_fetch_row()

Приклад 1. Масив запису POSTGRESQL
<?php
$conn = pg_pconnect("","","","","publisher");
if (!$conn) {
echo "An error occured.\n";
exit;
}
$result = pg_Exec ($conn, "SELECT * FROM authors");
if (!$result) {
echo "An error occured.\n";
exit;
}
$arr = pg_fetch_array ($result, 0);
echo $arr[0] . " <- array\n";
$arr = pg_fetch_array ($result, 1);
echo $arr["author"] . " <- array\n";
?>


pg_Fetch_Object

pg_Fetch_Object – повертає запис як об'єкт

Опис

object pg_fetch_object(int result, int row);

Повертає об'єкт з властивостями, які посилаються на отриманий запис, або false якщо немає більше записів.

pg_fetch_object() співпадає з, крім того, що повертається об'єкт замість масиву. Це означає, що ви можете звернутися до даним тільки на ім'я полів, і а не по номеру або неправильному імені властивості.

За швидкістю функція ідентична функції, і майже така ж швидка як pg_fetch_row() (різниця незначна).

Див. також: pg_fetch_array() and pg_fetch_row().

Приклад 1. Полученніє об'єкту Postgres
<?php
$database = "verlag";
$db_conn = pg_connect ("localhost", "5432", "", "" $database);
if (!$db_conn): ?>
<H1> Помилкака з'єднання з базою <? echo $database ?></H1> <?
exit;
endif;

$qu = pg_exec ($db_conn, "SELECT * FROM verlag ORDER BY autor");
$row = 0; // postgres необхідний лічильник записів, на відміну від інших СУБД

while ($data = pg_fetch_object ($qu, $row)):
echo $data->autor." (";
echo $data->jahr ."): ";
echo $data->titel."<BR>";
$row++;
endwhile; ?>

<PRE><?
$fields[] = Array ("autor", "Author");
$fields[] = Array ("jahr" " Year");
$fields[] = Array ("titel" " Title");

$row= 0; // postgres необхідний лічильник записів, на відміну від інших
while ($data = pg_fetch_object ($qu, $row)):
echo "----------\n";
reset ($fields);
while (list (,$item) = each ($fields)):
echo $item[1].": ".$data->$item[0]."\n";
endwhile;
$row++;
endwhile;
echo "----------\n"; ?>
</PRE>


pg_Fetch_Row

pg_Fetch_Row – отримує запис як нумерований масив

Опис

array pg_fetch_row(int result, int row);

Повертає масив, який посилається на отриманий запис, або false, якщо більше немає записів.

pg_fetch_row() повертає один запис даних з результату, визначуваного вказаним ідентифікатором результату. Запис повертається як масив. Кожен стовпець результату зберігатися в елементі масиву, починаючи з 0.

Подальший виклик функції pg_fetch_row() поверне наступний запис в результуючому наборі, або false, якщо записів більше немає.

Див. також:pg_fetch_array(),pg_fetch_object">href="#також:pg_fetch_array">також:pg_fetch_array(),pg_fetch_object(), pg_result().

Приклад 1. Полученніє запису Postgres
<?php
$conn = pg_pconnect("","","","","publisher");
if (!$conn) {
echo "An error occured.\n";
exit;
}

$result = pg_Exec ($conn, "SELECT * FROM authors");
if (!$result) {
echo "Відбулася помилка.\n";
exit;
}

$row = pg_fetch_row ($result, 0);
echo $row[0] . " <- row\n";

$row = pg_fetch_row ($result, 1);
echo $row[0] . " <- row\n";

$row = pg_fetch_row ($result, 2);
echo $row[1] . " <- row\n";
?>


pg_FieldIsNull

pg_FieldIsNull – Перевіряє поле на нульове значення

Опис

int pg_fieldisnull(int result_id, int row, mixed field);

Перевіряє нульове (NULL) значення у поля чи ні. Повертає 0, якщо поле у вказаному записі не нульове. Повертає 1, якщо поле ы вказане запису нульове. Поле може визначатися номером або ім'ям. Нумерація записів починається з 0.


pg_FieldName

pg_FieldName – повертає ім'я поля

Опис

string pg_fieldname(int result_id, int field_number);

pg_FieldName() повертає ім'я поля, відповідне вказаному номеру стовпця у вказаному ідентифікаторі результату POSTGRESQL. Нумерація полів починається з 0.


pg_FieldNum

pg_FieldNum – повертає номер стовпця

Опис

int pg_fieldnum(int result_id, string field_name);

pg_FieldNum() повертає номер стовпця, відповідний вказаному імені поля у вказаному ідентифікаторі результату POSGRESQL. Нумерація полів починається з 0. Функція поверне -1 при помилці.


pg_FieldPrtLen

pg_FieldPrtLen – повертає друкарську довжину

Опис

int pg_fieldprtlen(int result_id, int row_number, string field_name);

pg_FieldPrtLen() повертає дійсну друкарську довжину (число символів) вказаних даних в результаті POSGRESQL. Нумерація записів починається з 0. При помилці функція поверне -1.


pg_FieldSize

pg_FieldSize – повертає внутрішній розмір зберігання іменованого поля

Опис

int pg_fieldsize(int result_id, string field_name);

pg_FieldSize() повертає внутрішній розмір зберігання вказаного іменованого поля у вказаному результаті POSGRESQL. Розмір поля -1 говорить про змінну довжину поля. Ця функція поверне false при помилці.


pg_FieldType

pg_FieldType – повертає тип відповідного іменованого поля

Опис

int pg_fieldtype(int result_id, int field_number);

pg_FieldType() повертає рядок, що містить ім'я типу вказаного поля у вказаному ідентифікаторі результату POSGRESQL. Нумерація полів починається з 0.


pg_FreeResult

pg_FreeResult – звільняє пам'ять

Опис

int pg_freeresult(int result_id);

pg_FreeResult() необхідно використовувати тільки якщо ви турбуєтеся про використання дуже більшого об'єму пам'яті при роботі вашого скрипта. Вся пам'ять резульата буде автоматично звільнена при завершенні роботи скрипта. Але, якщо ви упевнені, що вам більше не буде потрібно пам'ять результату в скрипті, то ви можете викликати, з ідентифікатором результату як параметр, і відповідна пам'ять результату буде звільнена.


pg_GetLastOid

pg_GetLastOid – повертає ідентифікатор останнього об'єкту

Опис

int pg_getlastoid(int result_id);

pg_GetLastOid() може бути використана для отримання ідентифікатора, привласненого запиту на вставку, якщо ідентифікатор результату використовувався останньою командою pg_Exec() і це була команда SQL INSERT. Ця функція поверне позитивне ціле число, якщо це був вірний ідентифікатор. Функція поверне -1, якщо відбулася помилка або остання команда pg_Exec() не була INSERT.


pg_Host

pg_Host – повертає ім'я вузла

Опис

string pg_host(int connection_id);

pg_Host() повертає ім'я вузла, з яким сполучений вказаний ідентифікатор з'єднання POSTGRESQL.


pg_loclose

pg_loclose – закриває великий об'єкт

Опис

void pg_loclose(int fd);

pg_loclose() закриває відображення великого об'єкту (ILO). fd є дескриптором файлу для великого об'єкту з pg_loopen().


pg_locreate

pg_locreate – створює великий об'єкт

Опис

int pg_locreate(int conn);

pg_locreate() створює відображення великого об'єкту (ILO) і повертає ідентифікатор великого об'єкту. conn визначає вірне з'єднання з базою даних. Режими доступу POSTGRESQL INV_READ, INV_WRITE, і INV_ARCHIVE не підтримуються, об'єкт створюється завжди і для читання і для запису. INV_ARCHIVE був видалений з самої POSTGRESQL (версії 6.3 і вище).


pg_loopen

pg_loopen – відкриває великий об'єкт

Опис

int pg_loopen(int conn, int objoid, string mode);

pg_loopen() відкриває відображення великого об'єкту (ILO) і повертає дескриптор файлу великого об'єкту. Дескриптор файлу містить інформацію про з'єднання. Не закривайте з'єднання до закриття дескриптора файлу великого об'єкту. objoid визначає вірний ідентифікатор великого об'єкту і mode може бути одним з "r", "w", or "rw".


pg_loread

pg_loread – прочитує великий об'єкт

Опис

string pg_loread(int fd, int len);

pg_loread() прочитує len байтів з великого об'єкту і повертає їх у вигляді рядка. fd визначає вірний дескриптор файлу великого об'єкту len визначає максимально можливий розмір сегменту великого об'єкту.


pg_loreadall

pg_loreadall – прочитує весь великий об'єкт

Опис

void pg_loreadall(int fd);

pg_loreadall() прочитує великий об'єкт і відправляє його прямо в броузер, після всіх необхідних заголовків. В основному застосовується для відправки двійкових даних, таких як зображення і звукові файли.


pg_lounlink

pg_lounlink – видаляє великий об'єкт

Опис

void pg_lounlink(int conn, int lobjid);

pg_lounlink() видаляє великий об'єкт з ідентифікатором великого об'єкту lobjid.


pg_lowrite

pg_lowrite – записує у великий об'єкт

Опис

int pg_lowrite(int fd, string buf);

pg_lowrite() записує дані у великий об'єкт із змінній buf і повертає число записаних даних або false при помилці. fd є дескриптором файлу великого об'єкту з функції pg_loopen().


pg_NumFields

pg_NumFields – повертає кількість полий

Опис

int pg_numfields(int result_id);

pg_NumFields() повертає кількість полів (стовпців) в результаті POSTGRESQL. Параметр є вірним ідентифікатором результату, отриманим функцією pg_Exec(). Ця функція поверне -1 при помилці.


pg_NumRows

pg_NumRows – повертає число записів

Опис

int pg_numrows(int result_id);

pg_NumRows() повертає число записів в результаті POSTGRESQL. Параметр є вірним ідентифікатором результату, отриманим функцією pg_Exec(). Ця функція поверне -1 при помилці.


pg_Options

pg_Options – повертає налаштування

Опис

string pg_options(int connection_id);

pg_Options() повертає рядок, що містить налаштування, відповідні вказаному ідентифікатору з'єднання POSTGRESQL.


pg_pConnect

pg_pConnect – встановлює стійке з'єднання з базою даних

Опис

int pg_pconnect(string host, string port, string options, string tty, string dbname);

Повертає номер з'єднання при успіху або false, якщо з'єднання не може бути встановлене. Відкриває стійке з'єднання з базою даних POSTGRESQL. Кожен параметр повинен бути рядком в лапках, включаючи номер порту. Параметри options і tty є додатковими і можуть бути опущені. Ця функція повертає номер з'єднання, який необхідний іншим функціям POSTGRESQL. Ви можете одночасно відкрити декілька стійких з'єднань. Див. також
pg_Connect().

З'єднання може також бути встановлене наступною командою: $conn = pg_pconnect("dbname=marliese port=5432"); Решта параметрів, окрім dbname і port, - це host, tty і options.


pg_Port

pg_Port – повертає номер порту

Опис

int pg_port(int connection_id);

pg_Port() повертає номер порту, з яким сполучений вказаний ідентифікатор з'єднання POSTGRESQL.


pg_Result

pg_Result – повертає дані з ідентифікатора результату

Опис

mixed pg_result(int result_id, int row_number, mixed fieldname);

pg_Result() повертає дані з ідентифікатора результату, отриманого pg_Exec(). Параметри row_number і fieldname визначають, з якого осередку таблиці будуть узяті дані. Нумерація записів і полів починається з 0. Замість імені поля ви можете використовувати номер поля (без лапок).

POSTGRESQL має багато видів даних, але тут підтримуються тільки основні. Всі види цілих і логічних типів, типів ідентифікаторів повертаються як цілі числа. Всі види типів з плаваючою крапкою і дійсних чисел повертаються як тип double. Всі остальні типи, включаючи масиви повертаються як рядки, що відформатували в тому ж вигляді, який ви бачили в програмі psql.


pg_tty

pg_tty – повертає ім'я tty

Опис

string pg_tty(int connection_id);

pg_tty() повертає ім'я tty, яке сервер дає вказаному ідентифікатору з'єднання POSTGRESQL.




  Логін:
  Пароль:
Книга Фріланс на західному ринку
Книга Фріланс на західному ринку

APServer | SiMan CMS | Лічильник відвідувань | Тека сайтів | Рейтинг | Форум | Download | Шаблони сторінок | Посібник Smarty | Підручник PHP | Статті/Огляди