Lazuli

らずり

SQLiteはPDOで操作すると捗るよ

最近、SQLiteを利用するシーンが多い。

phpSQLiteを使うには、

<?php
$db = sqlite_open('/path/to/sqlite.db');
$sql = 'insert into hoge (name) values ("foo")';
sqlite_query($db, $sql);

的な感じで操作するのが一般的だったらしいんだけど、いざ使ってみると「file is encrypted or is not a database」というエラーが出る。あるぇー?とおもむろにエラーをGoogle先生に尋ねるとどうやらsqlite3で作ったDBはsqlite_openでは利用出来ないようだ。ほうほう。
ほんならどうやって操作すんのと再びGoogle先生に懇願。普通にPDOで操作できるとのこと。
以下のように。

<?php
$pdo = new PDO('sqlite:/path/to/sqlite.db');
$sql = 'insert into hoge (name) values (?)';
$bind = array('foo');

$stmt = $pdo->prepare($sql);
$stmt->execute($bind);

プリペアドステートメントも手慣れた感じで使えるからよい。
ただ、PDOで扱えるのは便利だけどDB管理ツールがいまいちなものしかないのがなー。