SQLite - PHP
installer
Depuis PHP 5.3.0 partir l'extension SQLite3 est activé par défaut. Vous pouvez désactiver SQLite3 une utilisation prolongée--without-sqlite3 au moment de la compilation.
Les utilisateurs de Windows doivent permettre php_sqlite3.dll d'utiliser cette extension. Depuis PHP 5.3.0 partir, cette DLL est inclus dans la distribution Windows PHP.
Pour obtenir des instructions d'installation détaillées, consultez notre recommandation de tutoriel PHP et son site officiel.
PHP Interface API
Le programme de PHP importantes suivantes sont pour répondre à vos besoins en utilisant la base de données SQLite dans le programme de PHP. Si vous avez besoin de plus de détails, s'il vous plaît voir la documentation officielle de PHP.
序号 | API & 描述 |
---|---|
1 | public void SQLite3::open ( filename, flags, encryption_key ) 打开一个 SQLite 3 数据库。如果构建包括加密,那么它将尝试使用的密钥。 如果文件名filename赋值为':memory:',那么 SQLite3::open() 将会在 RAM 中创建一个内存数据库,这只会在 session 的有效时间内持续。 如果文件名 filename 为实际的设备文件名称,那么 SQLite3::open() 将使用这个参数值尝试打开数据库文件。如果该名称的文件不存在,那么将创建一个新的命名为该名称的数据库文件。 可选的 flags 用于判断是否打开 SQLite 数据库。默认情况下,当使用 SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE 时打开。 |
2 | public bool SQLite3::exec ( string $query ) 该例程提供了一个执行 SQL 命令的快捷方式,SQL 命令由 sql 参数提供,可以由多个 SQL 命令组成。该程序用于对给定的数据库执行一个无结果的查询。 |
3 | public SQLite3Result SQLite3::query ( string $query ) 该例程执行一个 SQL 查询,如果查询到返回结果则返回一个SQLite3Result对象。 |
4 | public int SQLite3::lastErrorCode ( void ) 该例程返回最近一次失败的 SQLite 请求的数值结果代码。 |
5 | public string SQLite3::lastErrorMsg ( void ) 该例程返回最近一次失败的 SQLite 请求的英语文本描述。 |
6 | public int SQLite3::changes ( void ) 该例程返回最近一次的 SQL 语句更新或插入或删除的数据库行数。 |
7 | public bool SQLite3::close ( void ) 该例程关闭之前调用 SQLite3::open() 打开的数据库连接。 |
8 | public string SQLite3::escapeString ( string $value ) 该例程返回一个字符串,在 SQL 语句中,出于安全考虑,该字符串已被正确地转义。 |
Connectez-vous à la base de données
Le code PHP ci-dessous montre comment se connecter à une base de données existante. Si la base de données n'existe pas, il est créé, et enfin retourne un objet de base de données.
<? Php MyDB de classe étend SQLite3 { fonction __construct () { $ This-> open ( 'test.db'); } } $ Db = new MyDB (); if (! $ db) { echo $ db-> lastErrorMsg (); } Else { echo "base de données \ Ouvert avec succès n"; } ?>
Maintenant, nous allons exécuter le programme ci - dessus, créez notretest.db de base de données dans le répertoire courant.Vous pouvez modifier le chemin si nécessaire. Si la base de données est créé avec succès, il affiche le message ci-dessous:
Ouvrez la base de données avec succès
Créer une table
Le code PHP extrait suivant sera utilisé pour créer une table dans la base de données créée précédemment:
<? Php MyDB de classe étend SQLite3 { fonction __construct () { $ This-> open ( 'test.db'); } } $ Db = new MyDB (); if (! $ db) { echo $ db-> lastErrorMsg (); } Else { echo "base de données \ Ouvert avec succès n"; } $ Sql = <<< EOF CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL, NOM TEXT NOT NULL, AGE INT NOT NULL, ADRESSE CHAR (50), SALAIRE RÉEL); EOF; $ Ret = $ db-> exec ($ sql); if (! $ ret) { echo $ db-> lastErrorMsg (); } Else { echo "Table créé \ avec succès n"; } $ Db-> close (); ?>
Lorsque la procédure ci - dessus, il crée la table de l' entreprise danstest.db et affiche le message ci - dessous:
base de données ouvert avec succès Tableau créé avec succès
opération INSERT
Le programme de PHP ci-dessous montre comment créer un enregistrement dans la table de société créée ci-dessus:
<? Php MyDB de classe étend SQLite3 { fonction __construct () { $ This-> open ( 'test.db'); } } $ Db = new MyDB (); if (! $ db) { echo $ db-> lastErrorMsg (); } Else { echo "base de données \ Ouvert avec succès n"; } $ Sql = <<< EOF INSERT INTO COMPANY (ID, nom, âge, adresse, SALAIRE) VALUES (1, 'Paul', 32, 'California', 20000.00); INSERT INTO COMPANY (ID, nom, âge, adresse, SALAIRE) VALUES (2, 'Allen', 25, 'Texas', 15000.00); INSERT INTO COMPANY (ID, nom, âge, adresse, SALAIRE) VALEURS (3, 'Teddy', 23, «Norvège», 20000.00); INSERT INTO COMPANY (ID, nom, âge, adresse, SALAIRE) VALEURS (4, 'Mark', 25, 'Rich-Mond', 65000.00); EOF; $ Ret = $ db-> exec ($ sql); if (! $ ret) { echo $ db-> lastErrorMsg (); } Else { echo "Les documents créés avec succès \ n"; } $ Db-> close (); ?>
Le programme ci-dessus est exécuté, il sera créé dans le tableau de la société pour un enregistrement donné, et affiche les deux lignes suivantes:
base de données ouvert avec succès Dossiers créé avec succès
opérations SELECT
Le programme PHP suivant montre comment obtenir de la table de société créée plus tôt et affiche l'enregistrement:
<? Php MyDB de classe étend SQLite3 { fonction __construct () { $ This-> open ( 'test.db'); } } $ Db = new MyDB (); if (! $ db) { echo $ db-> lastErrorMsg (); } Else { echo "base de données \ Ouvert avec succès n"; } $ Sql = <<< EOF SELECT * de COMPANY; EOF; $ Ret = $ db-> query ($ sql); while ($ row = $ ret-> fetchArray (SQLITE3_ASSOC)) { . Echo "ID =" $ row [ 'id'] "\ n" .; . Echo "NAME =" $ row [ 'NAME'] "\ n" .; . Echo "ADDRESS =" $ row [ 'ADRESSE'] "\ n" .; . Echo "SALAIRE =" $ row [ 'SALAIRE'] "\ n \ n" .; } echo "Opération effectuée avec succès \ n"; $ Db-> close (); ?>
Lorsque le programme ci-dessus est exécuté, il va produire les résultats suivants:
base de données ouvert avec succès ID = 1 NAME = Paul ADDRESS = Californie SALAIRE = 20000 ID = 2 NAME = Allen ADDRESS = Texas SALAIRE = 15000 ID = 3 NAME = Teddy ADDRESS = Norvège SALAIRE = 20000 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALAIRE = 65000 Opération effectuée avec succès
opération UPDATE
Le code PHP suivant montre comment utiliser l'instruction UPDATE pour mettre à jour tous les dossiers, puis obtenir à partir du tableau de l'entreprise et afficher l'enregistrement mis à jour:
<? Php MyDB de classe étend SQLite3 { fonction __construct () { $ This-> open ( 'test.db'); } } $ Db = new MyDB (); if (! $ db) { echo $ db-> lastErrorMsg (); } Else { echo "base de données \ Ouvert avec succès n"; } $ Sql = <<< EOF UPDATE COMPANY mis SALAIRE = 25000.00 où ID = 1; EOF; $ Ret = $ db-> exec ($ sql); if (! $ ret) { echo $ db-> lastErrorMsg (); } Else { echo $ db-> changements (), "Enregistrement mis à jour avec succès \ n"; } $ Sql = <<< EOF SELECT * de COMPANY; EOF; $ Ret = $ db-> query ($ sql); while ($ row = $ ret-> fetchArray (SQLITE3_ASSOC)) { . Echo "ID =" $ row [ 'id'] "\ n" .; . Echo "NAME =" $ row [ 'NAME'] "\ n" .; . Echo "ADDRESS =" $ row [ 'ADRESSE'] "\ n" .; . Echo "SALAIRE =" $ row [ 'SALAIRE'] "\ n \ n" .; } echo "Opération effectuée avec succès \ n"; $ Db-> close (); ?>
Lorsque le programme ci-dessus est exécuté, il va produire les résultats suivants:
base de données ouvert avec succès 1 Record mis à jour avec succès ID = 1 NAME = Paul ADDRESS = Californie SALAIRE = 25000 ID = 2 NAME = Allen ADDRESS = Texas SALAIRE = 15000 ID = 3 NAME = Teddy ADDRESS = Norvège SALAIRE = 20000 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALAIRE = 65000 Opération effectuée avec succès
opération DELETE
Le code PHP suivant montre comment utiliser l'instruction DELETE supprime tous les enregistrements, puis repris dans le tableau de l'entreprise et affiche l'enregistrement restant:
<? Php MyDB de classe étend SQLite3 { fonction __construct () { $ This-> open ( 'test.db'); } } $ Db = new MyDB (); if (! $ db) { echo $ db-> lastErrorMsg (); } Else { echo "base de données \ Ouvert avec succès n"; } $ Sql = <<< EOF SUPPRIMER à partir COMPANY où ID = 2; EOF; $ Ret = $ db-> exec ($ sql); if (! $ ret) { echo $ db-> lastErrorMsg (); } Else { echo $ db-> changements (), "Enregistrement supprimé \ n"; } $ Sql = <<< EOF SELECT * de COMPANY; EOF; $ Ret = $ db-> query ($ sql); while ($ row = $ ret-> fetchArray (SQLITE3_ASSOC)) { . Echo "ID =" $ row [ 'id'] "\ n" .; . Echo "NAME =" $ row [ 'NAME'] "\ n" .; . Echo "ADDRESS =" $ row [ 'ADRESSE'] "\ n" .; . Echo "SALAIRE =" $ row [ 'SALAIRE'] "\ n \ n" .; } echo "Opération effectuée avec succès \ n"; $ Db-> close (); ?>
Lorsque le programme ci-dessus est exécuté, il va produire les résultats suivants:
base de données ouvert avec succès 1 Record supprimé ID = 1 NAME = Paul ADDRESS = Californie SALAIRE = 25000 ID = 3 NAME = Teddy ADDRESS = Norvège SALAIRE = 20000 ID = 4 NAME = Mark ADDRESS = Rich-Mond SALAIRE = 65000 Opération effectuée avec succès