1
0
mirror of https://github.com/php/doc-pl.git synced 2026-03-24 07:02:07 +01:00
Files
archived-doc-pl/reference/pgsql/examples.xml
Maciej Sobaczewski 5af87fffd3 Sync with EN
2024-11-21 03:24:04 +01:00

148 lines
3.6 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: aa2e1accf0888a290a76b9193844d0d7b7bd40b8 Maintainer: grzesiek Status: ready -->
<!-- $Revision$ -->
<!-- CREDITS: jarek, joeaccord -->
<chapter xml:id="pgsql.examples" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.examples;
<section xml:id="pgsql.examples-basic">
<title>Podstawowe użycie</title>
<para>
Ten nieskomplikowany przykład pokazuje jak można nawiązać połączenie,
wykonać zapytanie, wyświetlić wyniki i rozłączyć się z bazą danych
PostgreSQL.
<example>
<title>Przykład działania rozszerzenia PostgreSQL</title>
<programlisting role="php">
<![CDATA[
<?php
// Nawiązanie połączenia, wybór bazy danych
$dbconn = pg_connect("host=localhost dbname=publikacje user=www password=tajne")
or die('Nie można nawiązać połączenia: ' . pg_last_error());
// Wykonanie zapytania SQL
$query = 'SELECT * FROM authors';
$result = pg_query($dbconn, $query) or die('Nieprawidłowe zapytanie: ' . pg_last_error());
// Wyświetlenie wyników w postaci HTML
echo "<table>\n";
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {
echo "\t\t<td>$col_value</td>\n";
}
echo "\t</tr>\n";
}
echo "</table>\n";
// Zwolnienie zasobów wyniku zapytania
pg_free_result($result);
// Zamknięcie połączenia
pg_close($dbconn);
?>
]]>
</programlisting>
</example>
</para>
</section>
<section xml:id="pgsql.examples-queries">
<title>Użycie podstawowe</title>
<para>
Przykłady te zawierają funkcje zdefiniowane przez użytkownika, podobne
do starszych funkcji MySQL.
<example>
<title>Przykład funkcji PostgreSQL zdefiniowanych przez użytkownika</title>
<programlisting role="php">
<![CDATA[
<?php
// Ta funkcja powinna być potrzebna, ponieważ połączenie PostgreSQL wiąże bazę danych.
function pg_list_dbs($db)
{
assert(is_resource($db));
$query = '
SELECT
d.datname as "Name",
u.usename as "Owner",
pg_encoding_to_char(d.encoding) as "Encoding"
FROM
pg_database d LEFT JOIN pg_user u ON d.datdba = u.usesysid
ORDER BY 1;
';
return pg_query($db, $query);
}
// List tables.
function pg_list_tables($db)
{
assert(is_resource($db));
$query = "
SELECT
c.relname as \"Name\",
CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' END as \"Type\",
u.usename as \"Owner\"
FROM
pg_class c LEFT JOIN pg_user u ON c.relowner = u.usesysid
WHERE
c.relkind IN ('r','v','S','')
AND c.relname !~ '^pg_'
ORDER BY 1;
";
return pg_query($db, $query);
}
// Zobacz także pg_meta_data(). Zwraca definicję pola jako tablicę.
function pg_list_fields($db, $table)
{
assert(is_resource($db));
$query = "
SELECT
a.attname,
format_type(a.atttypid, a.atttypmod),
a.attnotnull,
a.atthasdef,
a.attnum
FROM
pg_class c,
pg_attribute a
WHERE
c.relname = '".$table."'
AND a.attnum > 0 AND a.attrelid = c.oid
ORDER BY a.attnum;
";
return pg_query($db, $query);
}
?>
]]>
</programlisting>
</example>
</para>
</section>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->