-
Notifications
You must be signed in to change notification settings - Fork 46
/
Copy pathexamples.xml
146 lines (133 loc) · 3.53 KB
/
examples.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: aa2e1accf0888a290a76b9193844d0d7b7bd40b8 Maintainer: conni Status: ready -->
<!-- Reviewed: no -->
<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>Grundlegende Nutzung</title>
<para>
Dieses einfache Beispiel zeigt den Verbindungsaufbau, die Ausführung
einer einfachen Abfrage, die Ausgabe der Abfrageergebnisse und, wie
eine Verbindung wieder geschlossen wird.
<example>
<title>Beispiel für die Benutzung der PostgreSQL-Erweiterung</title>
<programlisting role="php">
<![CDATA[
<?php
// Verbindungsaufbau und Auswahl der Datenbank
$dbconn = pg_connect("host=localhost dbname=publishing user=www password=foo")
or die('Verbindungsaufbau fehlgeschlagen: ' . pg_last_error());
// Eine SQL-Abfrage ausführen
$query = 'SELECT * FROM authors';
$result = pg_query($dbconn, $query) or die('Abfrage fehlgeschlagen: ' . pg_last_error());
// Ergebnisse in HTML ausgeben
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";
// Speicher freigeben
pg_free_result($result);
// Verbindung schließen
pg_close($dbconn);
?>
]]>
</programlisting>
</example>
</para>
</section>
<section xml:id="pgsql.examples-queries">
<title>Grundlegende Verwendung</title>
<para>
Diese Beispiele enthalten benutzerdefinierte Funktion, ähnlich veralteten
MySQL-Funktionen.
<example>
<title>benutzerdefinierte PostgreSQL Funktionen Beispiel</title>
<programlisting role="php">
<![CDATA[
<?php
// Diese Funktion sollte benötigt werden, da PostgreSQL-Verbindung die Datenbank anbinden.
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);
}
// Tabellen auflisten.
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);
}
// Siehe auch pg_meta_data(). Felddefinitionen werden als Array zurückgegeben.
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
-->