2. MySQLで定義されている表一覧を出力するプログラム(myodbc1-1.php)を作成
下記の内容をテキストエディタにコピーし、ファイル名を「myodbc1-1.php」として「C:\xampp\htdocs\test」内に保存します。
*注意 ---「myodbc1-1.php」ファイルの文字コードは「SJIS」を指定して保存してください。
PHPエディタや サクラエディタなど文字コードを指定できるエディタを使うと便利です。
<?php
//odbc_connect関数によりDBへ接続開始する
//システムDSN名,ユーザー名,パスワードの順に指定する
$dbHandle = odbc_connect("myodbc351s","root","karipass");
//DBの接続に失敗した場合はエラー表示をおこない処理を中断する
if ($dbHandle == False) {
print ("can not connect db\n");
exit;
}
//GETで渡されたtable名を$tableにセットする
$table = $HTTP_GET_VARS["table"];
//SQL文を指定
$sql = "select * from ". $table;
//odbc_exec関数によりSQL文を実行する
$rs = odbc_exec($dbHandle, $sql);
//odbc_num_fields関数により列数を取得する
$num = odbc_num_fields($rs);
//HTML文を出力 テーブルの開始を指定
print("<table border=1><tr");
//HTML文を出力 テーブルの行開始
print("<tr><td>num</td><td>field_name</td><td>field_len</td><td>field_precision</td><td>field_scale</td><td>field_type</td>");
//test表の列数と同じ回数を繰り返す
for ($i=1;$i<=$num;$i++){
print("<tr>");
print("<td>" . $i . "</td>");
//odbc_field_name関数により列名を取得し表示する
print("<td>" . odbc_field_name($rs, $i) . "</td>");
//odbc_field_len関数により列長を取得し表示する
print("<td>" . odbc_field_len($rs, $i) . "</td>");
//odbc_field_precision関数により列の精度を取得し表示する
print("<td>" . odbc_field_precision($rs, $i) . "</td>");
//odbc_field_scale関数により列の浮動小数点の精度を取得し表示する
print("<td>" . odbc_field_scale($rs, $i) . "</td>");
//odbc_field_type関数により列のデータ型を取得し表示する
print("<td>" . odbc_field_type($rs, $i) . "</td>");
print("</tr>");
}
//HTML文を出力 テーブルの終了を指定
print("</table>");
//odbc_free_result関数により結果保持用のメモリを開放する
odbc_free_result($rs);
//odbc_close関数によりDBへの接続を切断
odbc_close($dbHandle);
//HTML文を出力 javascriptを使用して直前のページに戻るリンク
print ("<br><a href=myodbc1.php>戻る</a><br>");
?>
続いて、次ページで「myodbc1-2.php」を作成します。


