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

解決済みの質問

PHP+ACCESSのデータベース接続について

こんにちわ。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】

投稿日時 - 2005-11-05 11:05:31

QNo.1758330

困ってます

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

sqlite系の関数はSQLiteというデータベースに接続するための関数群です。なので、それらを使ってAccessには接続できません。
Accessに接続するにはODBC関数群を利用してください。

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

投稿日時 - 2005-11-05 12:22:10

補足

ありがとうございます。早速検索して、以下のプログラムを実行させたところ、"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:22

ANo.1

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

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

回答(1)

あなたにオススメの質問