mssql_result
(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() よりもかなり高速です。
参考
推奨される高性能な代替関数:
- mssql_fetch_row() - 配列として行を取得する
- mssql_fetch_array() - 連想配列・数値添字配列・あるいはその両方で結果の行を取得する
- mssql_fetch_assoc() - 結果の現在行を連想配列として返す
- mssql_fetch_object() - オブジェクトとして行を取得する