こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

xamppでpdoを用いてSQLiteを使う方法

いつもお世話になります。
xamppの環境でphpからSQLite3のファイルを操作したいと思っています。
xamppのSQLiteはSQLite2が標準でSQLite3を扱うためにはpdoを使う必要がある旨のページを見て
php_pdo.dll、php_pdo_sqlite.dllをphp\extフォルダへDLし、php.iniのextension=設定も行いました。

下記のようなスクリプトを書いたのですが、
Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in ・・・
というエラーメッセージが出てどうにも原因がわかりません。
どのようにしたらよいのか教えていただけないでしょうか。

<?php
//---PDOでのアクセスStart
$dsn = 'sqlite:mondo_quest3.db';
$pdo = new PDO($dsn);
$sql="select * from ans order by id";
$entries = $pdo->query($sql);
while ($entry = $entries->fetch()) {
// 処理を書く
}
//---PDOでのアクセスEnd
?>

投稿日時 - 2009-08-03 16:13:22

QNo.5178659

困ってます

質問者が選んだベストアンサー

>そしたら、fatalErrorは出なくなりました。
>しかし、SQLite3のファイルをまだ読むことはできません。

ものすごく単純なことだが、データベースファイルの場所は正しいんだろうかね? どこにデータベースファイルは配置されているのだろうか。例えば、ファイルの指定を、

$dsn = 'sqlite:/hoge/mondo_quest3.db';

とかいう具合にフルパスで指定してみたらどうだろうか?

投稿日時 - 2009-08-03 21:47:54

お礼

logger_manさん、お早うございます。
夜は早くにダウン、そのため朝早く起きます。
できました。
ようやくできました。
ありがとうございました。
ただ、xamppVer.1.64では何故だめなのかがはっきりとすると、
すっきりするのですが。
この先、SQLiteの学習を進めていけばわかるときもくるのかな。
まずは、いろいろと操作してみます。
ありがとうございました。

投稿日時 - 2009-08-04 05:32:33

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

バージョンがわからないが、最近のXAMPPでは、SQLite3は、ファイルなどは標準で組み込まれているので何も追加する必要はない。ただ、php.iniの書き換えだけで使えるようになるはず。

本当にphp.iniの設定はできているだろうか。XAMPP 1.7.1の場合、C:\xampp\php\php.iniが使用されているが、このファイルを修正しているだろうか。また設定は、

extension=php_pdo.dll
extension=php_pdo_sqlite.dll

この2行とも修正してあるだろうか。そのあたりの基本を再度確認してみる。

一度、phpinfo()などで、SQLiteの状態を確認してみてはどうか。正しく設定できて入れば、「pdo support」と「PDO Driver for SQLite 3.x」の項目が表示されるはず。

投稿日時 - 2009-08-03 16:30:46

お礼

logger_manさん、早速レスありがとうございます。
いままでのxamppのVer.1.64でした。
Ver.1.71にアップデートしました。
そしたら、fatalErrorは出なくなりました。
しかし、SQLite3のファイルをまだ読むことはできません。
もう少し調べてみます。
また、報告させていただきます。
とりあえずお礼まで。

投稿日時 - 2009-08-03 20:40:17

あなたにオススメの質問