このエントリーをはてなブックマークに追加


PHPのPDOを使ってSQLiteを操作する

UbutnuでPHPのPDOを使ってSQLiteを操作する手順を以下に記します。

動作確認環境

  • Ubutnu
    $ lsb_release -rd
    Description:    Ubuntu 20.04.5 LTS
    Release:        20.04
  • PHP
    $ php -v
    PHP 7.4.3-4ubuntu2.16 (cli) (built: Sep 15 2022 22:53:21) ( NTS )
    Copyright (c) The PHP Group
    Zend Engine v3.4.0, Copyright (c) Zend Technologies
        with Zend OPcache v7.4.3-4ubuntu2.16, Copyright (c), by Zend Technologies

動作環境の構築

Ubutnuでaptコマンドを使って、以下のパッケージをインストールしました。
PHPはインストール済であることを前提としています。

sudo apt install php-sqlite3

このパッケージが入っていないとPDOが使えません。
WebサーバとPHPの連携が不要かつPHP未インストールでスクリプトとして使用する場合は、以下のコマンドで環境を構築できます。

sudo apt install php-cli php-sqlite3

PHPのPDOで作成されたDBファイルをコマンドラインで確認したい場合は、sqlite3もインストールした方が良いでしょう。

  • [[UbuntuにSQLite3をインストール>SQLite/UbuntuにSQLite3をインストール ]] GUI操作の場合は
  • [[UbuntuにDB Browser for SQLiteをインストール>SQLite/UbuntuにDB Browser for SQLiteをインストール ]]

PHPでPDOを使ってSQLiteを操作してみる

SQLiteはファイルDBなので、ファイルが無い場合は作成されます。
以下のサンプルはテーブルを作成し、データをINSERT、UPDATEするコードになります。

 
  • pdo_access.php
    <?php
    $dbfile = './pdo_test.sqlite3';
    $conn = new PDO('sqlite:' . $dbfile);
    
    // DROP & CREATE TABLE
    $ddl = 'DROP TABLE IF EXISTS t1';
    $conn->query($ddl);
    $ddl = 'CREATE TABLE t1(id int, os text)';
    $conn->query($ddl);
    
    // INSERT
    $sql = "INSERT INTO t1 VALUES (1,'Windows'),(2,'Linux'),(3,'macOS'),(4,'Android'),(5,'iOS')";
    $conn->query($sql);
    
    // SELECT
    $sql = 'SELECT * FROM t1 ORDER BY id';
    $stmt = $conn->query($sql);
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
    {
      echo $row['id'] . "," . $row['os'] . PHP_EOL;
    }

実行結果

上記スクリプトの実行結果です。

$ php ./pdo_access.php
1,Windows
2,Linux
3,macOS
4,Android
5,iOS

以上、PHPのPDOを使ってSQLiteを操作するサンプルコードでした。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-01-22 (日) 20:21:02