The "i" parameter appears to be the row number. This was implied by checking mysql_result, which documents what the middle paramter specifies.
(PHP 4, PHP 5, PECL odbtp >= 1.1.1)
mssql_result — 結果データを得る
mssql_result()は、MS SQL 結果行からセルの内容を返します。
result
処理対象となる結果リソース。これは mssql_query() のコールによって取得します。
row
行番号。
field
フィールドオフセット、フィールド名または テーブル名.フィールド名の形式で指定することができます。 カラム名がエイリアス定義されている場合 ('select foo as bar from...')、そのカラム名の代わりにエイリアスが使用されます。
注意:
field
引数でオフセット番号を指定する方が、フィールド名または テーブル名.フィールド名で引数で指定するよりもかなり高速です。
指定したセルの内容を返します。
例1 mssql_result() の例
<?php
// select クエリを MSSQL に送信します
$query = mssql_query('SELECT [username] FROM [php].[dbo].[userlist]');
// レコードが存在するかどうかを調べます
if (!mssql_num_rows($query)) {
echo 'No records found';
} else {
for ($i = 0; $i < mssql_num_rows($query); ++$i) {
echo mssql_result($query, $i, 'username'), PHP_EOL;
}
}
// 結果を開放します
mssql_free_result($query);
?>
上の例の出力は、 たとえば以下のようになります。
Kalle Felipe Emil Ross
例2 上の例をより高速化したもの
<?php
// select クエリを MSSQL に送信します
$query = mssql_query('SELECT [username] FROM [php].[dbo].[userlist]');
// レコードが存在するかどうかを調べます
if (!mssql_num_rows($query)) {
echo 'No records found';
} else {
while ($row = mssql_fetch_array($query)) {
echo $row['username'], PHP_EOL;
}
}
// 結果を開放します
mssql_free_result($query);
?>
注意:
大量の結果を処理する場合、(以下に示す)行全体を取得する関数のどれかを 使用することを考える必要があります。これらの関数は一回の関数 コールで複数のセルの内容を返すので、 mssql_result() よりもかなり高速です。
推奨される高性能な代替関数:
The "i" parameter appears to be the row number. This was implied by checking mysql_result, which documents what the middle paramter specifies.