• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • SQLite3::__construct()

    (PHP 5 >= 5.3.0, PHP 7)

    Instantiates an SQLite3 object and opens an SQLite 3 database

    说明

    publicSQLite3::__construct(string $filename[,int $flags= SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE[,string $encryption_key= ""]])

    Instantiates an SQLite3 object and opens a connection to an SQLite 3 database. If the build includes encryption, then it will attempt to use the key.

    参数

    $filename

    Path to the SQLite database, or:memory:to use in-memory database. If$filenameis an empty string, then a private, temporary on-disk database will be created. This private database will be automatically deleted as soon as the database connection is closed.

    $flags

    Optional flags used to determine how to open the SQLite database. By default, open usesSQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE.

    • SQLITE3_OPEN_READONLY: Open the database for reading only.

    • SQLITE3_OPEN_READWRITE: Open the database for reading and writing.

    • SQLITE3_OPEN_CREATE: Create the database if it does not exist.

    $encryption_key

    An optional encryption key used when encrypting and decrypting an SQLite database. If the SQLite encryption module is not installed, this parameter will have no effect.

    返回值

    Returns an SQLite3 object on success.

    错误/异常

    Throws an Exception on failure.

    更新日志

    版本说明
    7.0.10 The$filenamecan now be empty to use a private, temporary on-disk database.

    范例

    SQLite3::__construct() example

    <?php
    $db = new SQLite3('mysqlitedb.db');
    $db->exec('CREATE TABLE foo (bar STRING)');
    $db->exec("INSERT INTO foo (bar) VALUES ('This is a test')");
    $result = $db->query('SELECT bar FROM foo');
    var_dump($result->fetchArray());
    ?>
    
    $encryption_key and all encryption features will be enabled only if the SQLite encryption module is installed. It's a proprietary, costly module. So if it's not present, supplying an encryption key will have absolutely no effect.
    Note that the SQLITE3_OPEN_READONLY flag cannot be combined with the SQLITE3_OPEN_CREATE flag. If you combine both of these flags, a rather unhelpful "Unable to open database: out of memory" exception will be thrown.