# dBase

&reftitle.intro;

These functions allow you to access records stored in dBase-format (dbf) databases.

dBase files are simple sequential files of fixed length records. Records are appended to the end of the file and delete records are kept until you call `dbase_pack`.

The types of dBase fields available are:

## Available types of fields

Field | dBase Type | Format | Additional information
`M` | Memo | n/a | This type is not supported by PHP, such field will be ignored
`D` | Date | `YYYYMMDD` | The field length is limited to 8
`N` | Number | A number | You must declare a length and a precision (the number of digits after the decimal point)
`C` | String | A string | You must declare a length. When retrieving data, the string will be right-padded with spaces to fit the declared length.
`L` | Boolean | `T` or `Y` for &true;, `F` or `N` for &false; | Stored and returned as an integer (1 or 0)
`F` | Float | A float number | Support for this type of field was added in PHP 5.2.0

&pecl.moved-ver;5.3.0.

There is no support for indexes or memo fields. There is no support for locking, too. Two concurrent web server processes modifying the same dBase file will very likely ruin your database.

We recommend that you do not use dBase files as your production database. Choose any real SQL server instead; MySQL or Postgres 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.

&reference.dbase.setup; &reference.dbase.constants; &reference.dbase.reference;