A simple conversion for 1D PostgreSQL array data:
// =====
//Example #1 (An array of IP addresses):
<?php
$pgsqlArr = '{192.168.1.1,10.1.1.1}';
preg_match('/^{(.*)}$/', $pgsqlArr, $matches);
$phpArr = str_getcsv($matches[1]);
print_r($phpArr);
}
// Output:
// Array
// (
// [0] => 192.168.1.1
// [1] => 10.1.1.1
// )
// =====
// =====
// Example #2 (An array of strings including spaces and commas):
<?php
$pgsqlArr = '{string1,string2,"string,3","string 4"}';
preg_match('/^{(.*)}$/', $pgsqlArr, $matches);
$phpArr = str_getcsv($matches[1]);
print_r($phpArr);
}
// Output:
// Array
// (
// [0] => string1
// [1] => string2
// [2] => string,3
// [3] => string 4
// )
// =====PostgreSQL функции
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
PostgreSQL функции
Референца за `ref.pgsql.php` со подобрена типографија и навигација.
PostgreSQL функции
Белешки
Забелешка:
Не сите функции се поддржани од сите верзии. Зависи од вашата верзија на libpq (C библиотека за PostgreSQL) и како е компајлирана libpq. Ако недостасуваат PHP екстензии за PostgreSQL, тоа е затоа што вашата верзија на libpq не ги поддржува.
Забелешка:
Повеќето PostgreSQL функции прифаќаат
connectionкако опционален прв параметар. Ако не е обезбеден, се користи последната отворена врска. Ако не постои, функциите враќаатfalse.
Забелешка:
PostgreSQL автоматски ги превиткува сите идентификатори (на пр. имиња на табели/колони) во вредности со мали букви при креирање на објект и при време на прашање. За да форсирате употреба на мешани или големи идентификатори, мора да го избегнете идентификаторот со двојни наводници ("").
Забелешка:
PostgreSQL нема специјални команди за добивање информации за шемата на базата на податоци (на пр. сите табели во тековната база на податоци). Наместо тоа, постои стандардна шема наречена
information_schemaшто содржи системски прикази со сите потребни информации, во лесно прашлива форма. Видете го » PostgreSQL Документација за целосни детали.
Содржина
- pg_affected_rows — Враќа број на погодени записи (тупли)
- pg_cancel_query — Откажи асинхрона нарачка
- pg_client_encoding — Го добива кодирањето на клиентот
- pg_close — Затвора PostgreSQL врска
- pg_connect — Отвори PostgreSQL врска
- pg_connect_poll — Провери го статусот на тековниот асинхрон обид за PostgreSQL врска
- pg_connection_busy — Добиј дали врската е зафатена или не
- pg_connection_reset — Ресетирај врска (повторно поврзи)
- pg_connection_status — Добиј статус на врска
- pg_consume_input — Чита влез на врската
- pg_convert — Конвертирај вредности од асоцијативен низ во форми погодни за SQL изјави
- pg_copy_from — Вметни записи во табела од низ
- pg_copy_to — Копирај табела во низ
- pg_dbname — Добиј го името на базата на податоци
- pg_delete — Избриши записи
- pg_end_copy — Синхронизирај со PostgreSQL бекенд
- pg_escape_bytea — Ескејп стринг за вметнување во bytea поле
- pg_escape_identifier — Ескејп идентификатор за вметнување во text поле
- pg_escape_literal — Ескејп литерал за вметнување во text поле
- pg_escape_string — Избегнувајте стринг за прашање
- pg_execute — Испраќа барање за извршување на подготвена изјава со дадени параметри и чека на резултат
- pg_fetch_all — Презема сите редови од резултат како низа
- pg_fetch_all_columns — Презема сите редови во одредена колона од резултат како низа
- pg_fetch_array — Презема ред како низа
- pg_fetch_assoc — Презема ред како асоцијативна низа
- pg_fetch_object — Презема ред како објект
- pg_fetch_result — Враќа вредности од инстанца на резултат
- pg_fetch_row — Добива ред како нумерирана низа
- pg_field_is_null — Тестира дали полето е SQL NULL
- pg_field_name — Враќа име на поле
- pg_field_num — Враќа број на поле од именувано поле
- pg_field_prtlen — Враќа печатена должина
- pg_field_size — Враќа внатрешна големина на складирање на именуваното поле
- pg_field_table — Враќа име или oid на полето на табелите
- pg_field_type — Враќа име на типот за соодветниот број на поле
- pg_field_type_oid — Враќа ID на типот (OID) за соодветниот број на поле
- pg_flush — Испразни податоци од излезната порака на конекцијата
- pg_free_result — Ослободи меморија за резултати
- pg_get_notify — Добива SQL NOTIFY порака
- pg_get_pid — Добива ID на процесот на бекендот
- pg_get_result — Земи асинхрон резултат од барање
- pg_host — Врати го името на домаќинот поврзано со врската
- pg_insert — Вметни низа во табела
- pg_last_error — Земи ја последнaта порака за грешка од врска
- pg_last_notice — Врати ја последната порака за известување од PostgreSQL сервер
- pg_last_oid — Врати го OID-то на последниот ред
- pg_lo_close — Затвори голем објект
- pg_lo_create — Креирај голем објект
- pg_lo_export — Експортирај голем објект во датотека
- pg_lo_import — Увези голем објект од датотека
- pg_lo_open — Отвори голем објект
- pg_lo_read — Прочитај голем објект
- pg_lo_read_all — Прочитај цел голем објект и испрати директно до прелистувачот
- pg_lo_seek — Помести позиција во голем објект
- pg_lo_tell — Врати ја моменталната позиција на поместување на голем објект
- pg_lo_truncate — Скрати голем објект
- pg_lo_unlink — Избриши голем објект
- pg_lo_write — Запиши во голем објект
- pg_meta_data — Земи мета податоци за табела
- pg_num_fields — Врати го бројот на полиња во резултат
- pg_num_rows — Враќа број на редови во резултат
- pg_options — Добијте ги опциите поврзани со врската
- pg_parameter_status — Барајте моментално поставување на параметар на серверот
- pg_pconnect — Отворете постојана PostgreSQL врска
- pg_ping — Ping врска со базата на податоци
- pg_port — Вратете го бројот на портата поврзан со врската
- pg_prepare — Поднесете барање до серверот за креирање на подготвена изјава со дадените параметри и почекајте за завршување
- pg_put_line — Испратете NULL-терминиран стринг до PostgreSQL бекенд
- pg_query — Извршете прашалник
- pg_query_params — Поднесете команда до серверот и почекајте го резултатот, со можност за поминување на параметри одделно од текстот на SQL командата
- pg_result_error — Добијте порака за грешка поврзана со резултатот
- pg_result_error_field — Враќа поединечен дел од извештајот за грешка
- pg_result_memory_size — Враќа количина на меморија доделена за резултат од прашалник
- pg_result_seek — Поставете внатрешен офсет на редови во инстанца на резултат
- pg_result_status — Добијте статус на резултат од прашалник
- pg_select — Изберете записи
- pg_send_execute — Испраќа барање за извршување на подготвена изјава со дадени параметри, без чекање на резултатот(и)
- pg_send_prepare — Испраќа барање за креирање на подготвена изјава со дадените параметри, без чекање за завршување
- pg_send_query — Испраќа асинхрон прашалник
- pg_send_query_params — Поднесете команда и одделни параметри до серверот без чекање на резултатот(и)
- pg_set_chunked_rows_size — Постави ги резултатите од прашањето да се добијат во режим на парчиња
- pg_set_client_encoding — Постави ги резултатите од прашањето да се добијат во режим на парчиња
- pg_set_error_context_visibility — Постави ја кодирањето на клиентот
- pg_set_error_verbosity — Определува видливост на пораките за грешки на контекстот вратени од pg_last_error и pg_result_error
- pg_socket — Определува деталност на пораките вратени од pg_last_error и pg_result_error
- pg_trace — Добиј рачка само за читање до сокетот што лежи под PostgreSQL конекција
- pg_transaction_status — Овозможи следење на PostgreSQL конекција
- pg_tty — Враќа моментален статус во трансакција на серверот
- pg_unescape_bytea — Врати го името на TTY поврзано со конекцијата
- pg_untrace — Отстрани ги ескејп знаците од бинарни податоци за bytea тип
- pg_update — Оневозможи следење на PostgreSQL конекција
- pg_version — Ажурирај табела
Белешки од корисници 3 белешки
I've found another function to mimic the following mysql list tables function (http://www.php.net/manual/en/function.mysql-list-tables.php) that's more useful for my target:
function pg_list_tables() {
$sql = "SELECT a.relname AS Name
FROM pg_class a, pg_user b
WHERE ( relkind = 'r') and relname !~ '^pg_' AND relname !~ '^sql_'
AND relname !~ '^xin[vx][0-9]+' AND b.usesysid = a.relowner
AND NOT (EXISTS (SELECT viewname FROM pg_views WHERE viewname=a.relname));";
return(pg_query($conn, $sql));
}Running RedHat Linux and Apache with suexec enabled you must include pgsql.so on each .php file using dl("pgsql.so") and remove "extension=pgsql.so" from php.ini, otherwise Apache (httpd) will not start.