sqlite_open

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0)

sqlite_openOpens an SQLite database and create the database if it does not exist

说明

sqlite_open ( string $filename [, int $mode = 0666 [, string &$error_message ]] ) : resource

面向对象风格 (constructor):

final public SQLiteDatabase::__construct ( string $filename [, int $mode = 0666 [, string &$error_message ]] )

Opens an SQLite database or creates the database if it does not exist.

参数

filename

The filename of the SQLite database. If the file does not exist, SQLite will attempt to create it. PHP must have write permissions to the file if data is inserted, the database schema is modified or to create the database if it does not exist.

mode

The mode of the file. Intended to be used to open the database in read-only mode. Presently, this parameter is ignored by the sqlite library. The default value for mode is the octal value 0666 and this is the recommended value.

error_message

Passed by reference and is set to hold a descriptive error message explaining why the database could not be opened if there was an error.

返回值

Returns a resource (database handle) on success, FALSE on error.

范例

Example #1 sqlite_open() example

<?php
if ($db sqlite_open('mysqlitedb'0666$sqliteerror)) { 
    
sqlite_query($db'CREATE TABLE foo (bar varchar(10))');
    
sqlite_query($db"INSERT INTO foo VALUES ('fnord')");
    
$result sqlite_query($db'select bar from foo');
    
var_dump(sqlite_fetch_array($result)); 
} else {
    die(
$sqliteerror);
}
?>

注释

Tip

On Unix platforms, SQLite is sensitive to scripts that use the fork() system call. If you do have such a script, it is recommended that you close the handle prior to forking and then re-open it in the child and/or parent. For more information on this issue, see » The C language interface to the SQLite library in the section entitled Multi-Threading And SQLite.

Tip

It is not recommended to work with SQLite databases mounted on NFS partitions. Since NFS is notoriously bad when it comes to locking you may find that you cannot even open the database at all, and if it succeeds, the locking behaviour may be undefined.

Note: Starting with SQLite library version 2.8.2, you can specify :memory: as the filename to create a database that lives only in the memory of the computer. This is useful mostly for temporary processing, as the in-memory database will be destroyed when the process ends. It can also be useful when coupled with the ATTACH DATABASE SQL statement to load other databases and move and query data between them.

Note: SQLite is 安全模式 and open_basedir aware.

参见

  • sqlite_popen() - Opens a persistent handle to an SQLite database and create the database if it does not exist
  • sqlite_close() - Closes an open SQLite database
  • sqlite_factory() - Opens an SQLite database and returns an SQLiteDatabase object

相关文章
php dbase 函数 opens a databasephp direct io 函数 opens a file creating it if necessary at a lower level than the c library input/ouput stream functions allowphp frontbase 函数 create a frontbase databasephp mcve 函数 whether or not to validate the passed identifier on any transaction it is passed tophp ncurses 函数 remove panel from the stack and delete it but not the associated window php paradox 函数 create a new paradox databasephp sqlite 函数 executes a result less query against a given databasephp sqlite 函数 opens an sqlite database and returns an sqlitedatabase objectphp sqlite 函数 returns the error code of the last error for a databasephp sqlite 函数 opens an sqlite database and create the database if it does not existphp sqlite 函数 opens a persistent handle to an sqlite database and create the database if it does not existphp sqlite 函数 execute a query that does not prefetch and buffer all dataphp wincache 函数 adds a variable in user cache only if variable does not already exist in the cachephp wincache 函数 adds a variable in user cache and overwrites a variable if it already exists in the cachephp mongocollection creates an index on the specified field s if it does not already existphp mongocollection creates an index on the specified field s if it does not already existphp mongocommandcursor checks if there are results that have not yet been sent from the databasephp mongocursor checks if there are results that have not yet been sent from the databasephp sqlite3 opens an sqlite databasephp swoole lock try to acquire the lock. it will block if the lock is not available.
关注编程学问公众号