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を操作するサンプルコードでした。