6.4 | フィールド数とフィールド名を調べる | ||
SELECT文の発行によって返された結果セットのフィールド数を取得するには「mssql_num_fields関数」を使います。引数には、mssql_query関数の返り値である結果セットIDを指定します。 また、フィールド数とレコード数を上限とするループ処理で「mssql_field_name関数」や「mssql_result関数」を組み合わせて使うことによって、それぞれ「フィールド名」とすべての「レコード内容(=データの値)」を出力することができます。
<?php
$DBSERVER = "localhost"; //SQL Serverサーバー名 $DBUSER = "testuser"; //ログインユーザー名 $DBPASSWORD = "test"; //パスワード $DBNAME = "NorthwindCS"; //データベース名 //SQL Serverに接続 if (! $con = mssql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) { exit("SQL Serverに接続できませんでした!"); } //データベースを選択 mssql_select_db($DBNAME); //仕入先テーブルから都道府県が東京都のレコードだけ読み込むSQLを組み立て $sql = "SELECT * FROM 仕入先 WHERE 都道府県 = '東京都'"; //結果セットを取得 $rst = mssql_query($sql); //結果セットからフィールド数を取得 $fldmax = mssql_num_fields($rst); $msg = "このテーブルには $fldmax ケのフィールドがあります。<BR>"; //結果セットのレコード数を取得 $recmax = mssql_num_rows($rst); $msg .= "レコード数は $recmax 件です。<BR><BR>"; //各フィールド名を取得 $body = "<TR>"; for ($fldnum = 0; $fldnum < $fldmax; $fldnum++) { $body .= "<TH nowrap>" . mssql_field_name($rst, $fldnum) . "</TH>"; } $body .= "</TR>"; //結果セットからデータをループで読み込み for ($recnum = 0; $recnum < $recmax; $recnum++) { $body .= "<TR>"; //各フィールドのデータをループで読み込み for ($fldnum = 0; $fldnum < $fldmax; $fldnum++) { $body .= "<TD>" . mssql_result($rst, $recnum, $fldnum) . "</TD>"; } $body .= "</TR>"; } //結果セットを破棄 mssql_free_result($rst); //SQL Serverとの接続を解除 mssql_close(); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> </HEAD> <BODY> <?=$msg?> <TABLE border="1"> <?=$body?> </TABLE> </BODY> </HTML> |
|||
|
Copyright © T'sWare All rights reserved |