SQLite3::backup

Backup one database to another database

&reftitle.description; public `bool` `SQLite3::backup` `SQLite3` `destination` `string` `sourceDatabase`"main" `string` `destinationDatabase`"main"

`SQLite3::backup` copies the contents of one database into another, overwriting the contents of the destination database. It is useful either for creating backups of databases or for copying in-memory databases to or from persistent files.

As of SQLite 3.27.0 (2019-02-07), it is also possible to use the statement `VACUUM INTO 'file.db';` to backup the database to a new file.

&reftitle.parameters;

`destination`

- A database connection opened with `SQLite3::open`.

`sourceDatabase`

- The database name is `"main"` for the main database, `"temp"` for the temporary database, or the name specified after the `AS` keyword in an `ATTACH` statement for an attached database.

`destinationDatabase`

- Analogous to `sourceDatabase` but for the `destination`.

&reftitle.returnvalues;

&return.success;

&reftitle.examples;

### Backup an existing database

    <?php
    // $conn is a connection to an already opened sqlite3 database

    $backup = new SQLite3('backup.sqlite');
    $conn->backup($backup);
    ?>