- PR -

sqlite_open()なんですが

1
投稿者投稿内容
ossu
会議室デビュー日: 2007/12/03
投稿数: 6
投稿日時: 2007-12-14 14:43
PHPで
<?php
$db=sqlite_open("rensyuu.sqlite",0666,$err);
$row=sqlite_query($db,"select count(*) from sqlite_master where name='tb1';");
$kotae=sqlite_fetch_single($row);
print($kotae);
sqlite_close($db);
?>
と打ったものを実行したら、
Warning: sqlite_open() [function.sqlite-open]: file is encrypted or is not a database in....
というエラーになりました。
どうもsqlite3で作ったのが原因っぽいんですがなにか
ご存知でしたら教えていただけませんか。
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2007-12-14 16:49
サーバーマシンのOS
OSのバージョン
PHPのバージョンは何?

試してみたけどエラーにはならず。
OS:Win2000 SP4
PHP 5.1.2

もしかしたら、ファイルアクセスの権限がないからとか?
shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2007-12-14 16:57
前回の続きだとするとWindows環境ですよね?phpマニュアルによると、

引用:
SQLite 3 は、PDO SQLite でサポートされます。


ということらしいです。ちなみに$errの内容などは確認されていますか?

[ メッセージ編集済み 編集者: shimix 編集日時 2007-12-14 17:01 ]
ossu
会議室デビュー日: 2007/12/03
投稿数: 6
投稿日時: 2007-12-15 16:07
お返事ありがとうございます。

教えていただきましたページを参考に、php.iniのなかの
extension=php_pdo.dll
extension=php_sqlite.dll
の部分の頭の;をはずして、php.iniを上書き保存してアパッチを再起動して、
もう一度スクリプトを実行してみましたがまたエラーになりました。

$errの内容確認なんですが、確認方法がよくわからず、自分で考えて
<?php
$db=sqlite_open("rensyuu.sqlite",0666,$err);
print($err);
/*
$row=sqlite_query($db,"select count(*) from sqlite_master where name='tb1';");
$kotae=sqlite_fetch_single($row);
print($kotae);*/
sqlite_close($db);
?>
とやってみましたが、やはりうまくいきませんでした。

いけないところがありましたら、よろしければご指摘お願いします。

こちらの環境ですが、osはwindows vistaで、Xampp1.6.3.aを入れてます。
あとphpのバージョンは5.2.3で、apacheのバージョンは2.2.4で、sqlite3は
バージョン3_5_3です。xampp/apatch/binの中にもsqlite.exeとsqlite3.exeがありましたが、
この前インポートできなくて色々調べていたとき、本に
「コマンドプロンプトから操作する場合には、専用のクライアントツール
であるsqliteが必要です」と書いてあったので、
xampp/apatch/binの中のsqlite.exeとsqlite3.exeとはまた違ったたぐいのモノかと思い、ダウンロードしてCドライブの中に置いておきました。(今回はこれでrensyuu.sqliteというファイルを作って、あとでドキュメント・ルートフォルダの中に移動させました。)
1

スキルアップ/キャリアアップ(JOB@IT)