PHP データベース ODBC
- 前のページ MySQL 削除
- 次のページ XML Expat Parser
ODBCはアプリケーションプログラミングインターフェース(Application Programming Interface、API)で、特定のデータソース(例えばMS Accessデータベース)に接続する能力を持たせます。
ODBC接続を作成する
ODBC接続が利用可能な場合、ネットワーク上のどのコンピュータ上のどのデータベースにも接続できます。
MS Accessデータに到達するODBC接続を作成する方法は以下の通りです:
- をダブルクリックしてコントロールパネルを開きます。管理ツール
- 中のデータソース (ODBC) アイコン
- システムを選択 DSNオプションタブ
- をクリックします。をクリックします。」ボタン
- 選択 Microsoft Access Driver。をクリックします。をクリックします。
- 次の画面で「選択」を使用してデータベースを特定します。
- このデータベースに名前を付けるデータソース名 (DSN)
- クリック確定
この設定は、あなたのウェブサイトがあるコンピュータ上で完了する必要があります。もしあなたのコンピュータにInternet Information Services (IIS)が動作している場合、上記の命令が有効ですが、あなたのウェブサイトがリモートサーバーにある場合、あなたはそのサーバーへの物理アクセス権を持っている必要があります、またはあなたのホストプロバイダーにDSNを作成してもらう必要があります。
ODBCに接続する
odbc_connect()関数はODBCデータソースに接続するために使用されます。この関数は4つの引数を持っています:データソース名、ユーザー名、パスワードおよびオプションのポインタータイプ引数。
odbc_exec()関数はSQL文を実行するために使用されます。
例
以下の例では、ユーザー名とパスワードがなく「northwind」と呼ばれるDSNに到達する接続を作成し、SQL文を作成し実行します:
$conn=odbc_connect('northwind','',''); $sql="SELECT * FROM customers"; $rs=odbc_exec($conn,$sql);
レコードを取得する
odbc_fetch_row()関数は結果セットからレコードを返すために使用されます。行が返せる場合、trueを返し、返せない場合はfalseを返します。
この関数は2つの引数を持っています:ODBC結果識別子とオプションの行番号:
odbc_fetch_row($rs)
レコードからフィールドを取得する
odbc_result()関数はレコードからフィールドを読み取るために使用されます。この関数は2つの引数を持っています:ODBC結果識別子とフィールド番号または名前。
以下のコード行はレコードから最初のフィールドの値を返します:
$compname=odbc_result($rs,1);
以下のコード行は「CompanyName」と呼ばれるフィールドの値を返します:
$compname=odbc_result($rs,"CompanyName");
ODBC接続を閉じる
odbc_close()関数はODBC接続を閉じるために使用されます。
odbc_close($conn);
ODBC インスタンス
以下の例では、まずデータベース接続を構築し、その後結果セットを構築し、HTML テーブルにデータを表示する方法を示します。
<html> <body> <?php $conn=odbc_connect('northwind','',''); if (!$conn) {exit("Connection Failed: " . $conn);} $sql="SELECT * FROM customers"; $rs=odbc_exec($conn,$sql); if (!$rs) {exit("Error in SQL");} echo "<table><tr>"; echo "<th>Companyname</th>"; echo "<th>Contactname</th></tr>"; while (odbc_fetch_row($rs)) { $compname=odbc_result($rs,"CompanyName"); $conname=odbc_result($rs,"ContactName"); echo "<tr><td>$compname</td>"; echo "<td>$conname</td></tr>"; } odbc_close($conn); echo "</table>"; ?> </body> </html>
- 前のページ MySQL 削除
- 次のページ XML Expat Parser