forked from php/doc-en
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbook.xml
162 lines (156 loc) · 4.97 KB
/
book.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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<book xml:id="book.dbase" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<?phpdoc extension-membership="pecl" ?>
<title>dBase</title>
<!-- {{{ preface -->
<preface xml:id="intro.dbase">
&reftitle.intro;
<note>
<para>
&pecl.moved-ver;5.3.0.
</para>
</note>
<para>
These functions allow you to access records stored in dBase-format
(dbf) databases.
</para>
<warning>
<para>
We recommend against using dBase files as your production
database. Use <link xlink:href="&url.sqlite;">SQLite</link> or choose any real SQL server instead; <link
xlink:href="&url.mysql;">MySQL</link> or <link xlink:href="&url.pgsql;">Postgres</link>
are common choices with PHP. dBase support is here to allow you to
import and export data to and from your web database, because the
file format is commonly understood by Windows spreadsheets and
organizers.
</para>
</warning>
<caution>
<para>
As of dbase 7.0.0 the databases are automatically locked via
<function>flock</function>. There has been no support for locking earlier,
so two concurrent web server processes modifying the same dBase file would
have very likely ruined your database. This can happen even with dbase
7.0.0+ on systems which implement the locks at the process level with
multithreaded SAPIs.
</para>
</caution>
<para>
dBase files are simple sequential files of fixed length records.
Records are appended to the end of the file and deleted records are
kept until you call <function>dbase_pack</function>.
</para>
<para>
Only dbf file levels 3 (dBASE III+) - 5 (dBASE V) are supported.
The types of dBase fields available are:
<table>
<title>Available types of fields</title>
<tgroup cols="3">
<thead>
<row>
<entry>Field</entry>
<entry>dBase Type</entry>
<entry>Format</entry>
<entry>Additional information</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>M</literal></entry>
<entry>Memo</entry>
<entry>n/a</entry>
<entry>This type is not supported by PHP, such field will be ignored</entry>
</row>
<row>
<entry><literal>D</literal></entry>
<entry>Date</entry>
<entry><literal>YYYYMMDD</literal></entry>
<entry>The field length is limited to 8</entry>
</row>
<row>
<entry><literal>T</literal></entry>
<entry>DateTime</entry>
<entry><literal>YYYYMMDDhhmmss.uuu</literal></entry>
<entry>(FoxPro) No validity checks are done. Available as of dbase 7.0.0.</entry>
</row>
<row>
<entry><literal>N</literal></entry>
<entry>Number</entry>
<entry>A number</entry>
<entry>
You must declare a length and a precision (the number of digits
after the decimal point).
</entry>
</row>
<row>
<entry><literal>F</literal></entry>
<entry>Float</entry>
<entry>A float number</entry>
<entry>Same as <literal>N</literal>.</entry>
</row>
<row>
<entry><literal>C</literal></entry>
<entry>String</entry>
<entry>A string</entry>
<entry>You must declare a length. When retrieving data, the string
will be right-padded with spaces to fit the declared length. Overlong
strings will be silently truncated when storing data.</entry>
</row>
<row>
<entry><literal>L</literal></entry>
<entry>Boolean</entry>
<entry>
<literal>T</literal> or <literal>Y</literal> for &true;,
<literal>F</literal> or <literal>N</literal> for &false;,
<literal>?</literal> for uninitialized.
</entry>
<entry>
As of dbase 7.0.0, returned as a <type>bool</type> (&true; or &false;),
or &null; for uninitialized fields.
Formerly, returned as an <type>int</type> (<literal>1</literal> or <literal>0</literal>).
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<note>
<para>
As of dbase 7.0.0 nullable fields are supported for
<constant>DBASE_TYPE_FOXPRO</constant> databases. If a field is nullable,
passing &null; will set the respective flag, and on later retrieval the field
value will be &null;.
</para>
</note>
<note>
<para>
There is no support for indexes or memo fields.
</para>
</note>
</preface>
<!-- }}} -->
&reference.dbase.setup;
&reference.dbase.constants;
&reference.dbase.reference;
</book>
<!-- 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
-->