mssql_fetch_field
(PHP 4, PHP 5, PECL odbtp >= 1.1.1)
mssql_fetch_field — フィールド情報を取得する
警告
この関数は PHP 7.0.0 で 削除 されました。
この関数の代替として、これらが使えます。
- PDOStatement::getColumnMeta()
- sqlsrv_field_metadata()
- unified ODBC ドライバ の odbc_field_* 関数群
説明
mssql_fetch_field
( resource
$result
[, int $field_offset = -1
] ) : objectmssql_fetch_field() は、あるクエリー結果のフィールドに関して情報を得るために使用します。
パラメータ
-
result -
処理対象となる結果リソース。これは mssql_query() のコールによって取得します。
-
field_offset -
フィールドオフセット。フィールドオフセットが指定されない場合、 mssql_fetch_field() によりまだ取得されていない次のフィールドが取得されます。
field_offsetは 0 から始まります。
返り値
フィールド情報を含むオブジェクトを返します。
オブジェクトのプロパティは次のようになります。
- name - カラム名。カラムが関数の結果である場合、このプロパティは computed#N に設定されます。ただし、#N はシリアル番号です。
- column_source - そのカラムが取得されたテーブル
- max_length - カラムの最大長
- numeric - そのカラムが数字である場合に 1
- type - カラムの型
例
例1 mssql_fetch_field() の例
<?php
// MSSQL に接続し、データベースを選択します
mssql_connect('MANGO\SQLEXPRESS', 'sa', 'phpfi');
mssql_select_db('php');
// select クエリを MSSQL に送信します
$query = mssql_query('SELECT * FROM [php].[dbo].[persons]');
// テーブルを作成します
echo '<h3>Table structure for \'persons\'</h3>';
echo '<table border="1">';
// テーブルのヘッダ
echo '<thead>';
echo '<tr>';
echo '<td>Field name</td>';
echo '<td>Data type</td>';
echo '<td>Max length</td>';
echo '</tr>';
echo '</thead>';
// すべてのフィールドの出力
echo '<tbody>';
for ($i = 0; $i < mssql_num_fields($query); ++$i) {
// フィールド情報を取得します
$field = mssql_fetch_field($query, $i);
// 行を表示します
echo '<tr>';
echo '<td>' . $field->name . '</td>';
echo '<td>' . strtoupper($field->type) . '</td>';
echo '<td>' . $field->max_length . '</td>';
echo '</tr>';
}
echo '</tbody>';
echo '</table>';
// 結果を開放します
mssql_free_result($query);
?>