電子書籍の厳選無料作品が豊富!

こんにちわ。PHP+ACCESSを使って、データベース接続を試みようとしておりますが、最初のところでつまづております。
<?php

//データベースに接続する
$DB=sqlite_open('db.mdb');

$SQL="create table db (id integer ,name,time)

$result=sqlite_query($DB, $SQL);

?>

上記のPHPで、ACCESSファイルを作成しましたが、作成したファイルを開くと、"データベース形式が認識できません"と表示し、データベースを閲覧することができません。
また、ACCESSから手動で作成したファイルをsqlite_openで接続しようとすると、sqlite_open(): file is encrypted or is not a database inエラーが表示接続することができません。

PHPとACCESSの相性の問題なのでしょうか。この原因がわかる方がいらっしゃいましたら、教えていただけないでしょうか。

宜しくお願い致します。
【php4.3.10 SQLite Library2.8.14 ACCESS2000】

A 回答 (1件)

sqlite系の関数はSQLiteというデータベースに接続するための関数群です。

なので、それらを使ってAccessには接続できません。
Accessに接続するにはODBC関数群を利用してください。

詳しいやり方は「Access PHP」で検索をかけると多数のページがヒットしますので、そちらを参考にしてください。

この回答への補足

ありがとうございます。早速検索して、以下のプログラムを実行させたところ、"Apache.exeアプリケーションエラー"と表示します。phpでは、php版のODBCコンポーネントみたいなのをインストールする必要があるのでしょうか。また、ロジックに誤りがあるのでしょうか。

ご指導いただけると幸いです。宜しくお願いいたします。
[ 以下にロジック ]
$db = 'db.mdb';
$conn = new COM('ADODB.Connection');
$conn->Open("DRIVER={Driver do Microsoft Access (*.mdb)}; DBQ=$db");
$sql = 'SELECT username FROM tblUsuarios';
$res = $conn->Execute($sql);
while (!$res->EOF)
{
print $res->Fields['username']->Value . "
";
$res->MoveNext();
}
$res->Close();
$conn->Close();
$res = null;
$conn = null;

[いかにエラー]
Apache.exe アプリケーションエラー
例外:unknown software exception

補足日時:2005/11/06 10:28
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!