- ベストアンサー
xxxx.mdb からデータを取り出す方法
はじめまして。PHP初心者です。 PHPでMySQLの接続やデータの取り出しなどは参考書にあったので何とかできたのですが、 xxxx.mdbのテーブルからデータを取り出すことはできるのでしょうか? fopen("xxxx.mdb","r"); こんなカンジですか? データの取り出し方法などもご教授していただけると幸いです。 言葉が足りなかったら付け加えます。 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
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);//データベースへの接続を閉じる ?> これでどうでしょうか?
その他の回答 (2)
- iiikkk
- ベストアンサー率37% (92/247)
#1です。 以前載せたURLの 3.ODBCの設定 の内容でもダメでしたか?
お礼
iiikkkさん、はじめまして。回答ありがとうございます。 私が状況をうまくお伝えすることができず申し訳ありません。 「3.ODBCの設定」っていうのはサーバーの設定を変えるってことですか? phpファイルとmdbファイルは同じwebサーバーにあるんです。掲示板のように(?)誰にでも公開していいデータです。 レンタルサーバーなので設定を変えることは難しいかと思うのですが、私の取り違いだったらごめんなさい。 よろしくお願いします。
- iiikkk
- ベストアンサー率37% (92/247)
こちらにズバリのサンプルが紹介されていますので、どうぞ。
お礼
とても丁寧なご説明、本当にありがとうございました! ODBCの設定もうまくでき、データベースへの接続もできました! 本当にありがとうございました。