みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

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

解決済みの質問

xxxx.mdb からデータを取り出す方法

はじめまして。PHP初心者です。

PHPでMySQLの接続やデータの取り出しなどは参考書にあったので何とかできたのですが、
xxxx.mdbのテーブルからデータを取り出すことはできるのでしょうか?

fopen("xxxx.mdb","r");
こんなカンジですか?
データの取り出し方法などもご教授していただけると幸いです。

言葉が足りなかったら付け加えます。
宜しくお願いします。

投稿日時 - 2005-03-30 23:07:05

QNo.1301681

暇なときに回答ください

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

PHPからAccessのデータベース(mdb)を利用するには、ODBC経由で接続する必要があります。

ODBCの設定は以下のとおり行います。

1.Windows95/98ではコントロールパネルの ODBC、Windows2000では管理ツールの データソース(ODBC) を開く
2.[システムDSN]のタブを選び、[追加]ボタンを押す
3.データベースドライバの中から *.mdb をサポートしているドライバを選択する
4.データソース名 にDSNの名前を設定する
 (ここに設定した名前が、ODBCで接続するときの データベース名
5.[データベース]の[選択]ボタンを押して、Accessのデータベースファイルを選択する
6.[詳細設定]ボタンを押して、詳細オプションの画面を出して、ログイン名 と パスワード を設定する
 (ODBCで接続するときの ユーザ名 と パスワード になる
7.[OK]ボタンを押して設定を完了する

サンプルコーディングは以下のとおりです。

<?
define("_DBName","database"); //データベースの名前の設定
define("_DBUser","username"); //データベースに接続するユーザ名の設定
define("_DBPassword","pass"); //データベースのパスワードの設定

function HTML_Head(){
echo '<HTML>';
echo '<HEAD><TITLE>Sample</TITLE></HEAD>';
echo '<BODY>';
echo '<H1>Sample</H1>';
echo '<FORM NAME="DB_MANAGER" ACTION="sample.phtml" METHOD="POST">';
echo '<TEXTAREA NAME="_SQL" COLS="80" ROWS="8">';
}

function HTML_Middle(){
echo '</TEXTAREA><BR>';
echo '<INPUT TYPE=SUBMIT>';
echo '</FORM>';
echo '<HR>';
}

function HTML_Foot(){
echo '<HR>';
echo 'PHP ODBC Sample<BR>';
echo 'Copyright (C) 2000, Matsushima Tomohiro.';
echo '</BODY>';
echo '</HTML>';
}

//データベースへの接続を開く
$conn_id = odbc_connect(_DBName,_DBUser,_DBPassword);

//フォームのテキストエリアで入力された文字列をデコードする
//(「\」でエンコードされている)
$SQL = StripSlashes($_SQL);

HTML_Head(); //タイトルとフォームのテキストエリアまでを表示
echo $SQL; //テキストエリアの値に直前のSQL文を出力
HTML_Middle(); //テキストエリアから真中の仕切り線までを表示

//フォームからのSQLが空でなければSQLを実行
if($SQL) $Result = odbc_exec($conn_id, $SQL);

if($Result){
//結果があれば、内容を表形式で表示
echo '正常に処理されました。<BR>';

//カラム数を得る
$columns = odbc_num_fields($Result);
echo '列数:'.$columns;

echo '<TABLE BORDER>'; //テーブル開始
$Rows = 1;
while(odbc_fetch_row($Result, $Rows++)){
echo '<TR>'; //行開始
for($i=1;$i<=$columns;$i++)
echo '<TD>'.odbc_result($Result, $i).'</TD>';
echo '</TR>'; //行終了
}
echo '</TABLE>'; //テーブル終了
}

HTML_Foot(); //フッタを表示
$ret = odbc_close($conn_id);//データベースへの接続を閉じる
?>

これでどうでしょうか?

投稿日時 - 2005-04-04 23:56:16

お礼

とても丁寧なご説明、本当にありがとうございました!
ODBCの設定もうまくでき、データベースへの接続もできました!
本当にありがとうございました。

投稿日時 - 2005-04-05 19:32:44

ANo.3

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

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

回答(3)

ANo.2

#1です。

以前載せたURLの
3.ODBCの設定
の内容でもダメでしたか?

投稿日時 - 2005-04-03 21:50:02

お礼

iiikkkさん、はじめまして。回答ありがとうございます。
私が状況をうまくお伝えすることができず申し訳ありません。

「3.ODBCの設定」っていうのはサーバーの設定を変えるってことですか?

phpファイルとmdbファイルは同じwebサーバーにあるんです。掲示板のように(?)誰にでも公開していいデータです。
レンタルサーバーなので設定を変えることは難しいかと思うのですが、私の取り違いだったらごめんなさい。
よろしくお願いします。

投稿日時 - 2005-04-04 20:32:39

ANo.1

こちらにズバリのサンプルが紹介されていますので、どうぞ。

参考URL:http://www.kk.iij4u.or.jp/~tomatsu/doc/phpWinInstall.html

投稿日時 - 2005-03-31 00:16:09

あなたにオススメの質問