(バージョン情報なし。おそらく SVN 版にしか存在しないでしょう)
sqlsrv_fetch_array — 行を配列として返す
$stmt
[, int $fetchType
[, int $row
[, int $offset
]]] )クエリ結果から列データを順に返します。列データの型は連想配列、配列、またはその両方(デフォルト)を選択できます。
stmt
sqlsrv_query あるいは sqlsrv_prepare が返すステートメントリソース。
fetchType
返り値の型を指定します。連想配列SQLSRV_FETCH_ASSOC
,
配列SQLSRV_FETCH_NUMERIC
, and
連想配列と配列の両方SQLSRV_FETCH_BOTH
(デフォルト)
のうち1つを指定します。
SQLSRV_FETCH_ASSOC(連想配列)は同じ名前の列が複数存在する結果セットを扱う際に使ってはいけません(連想配列のキーが重複するため)。
row
スクロール可能なカーソルを用いた結果セットから、取得する列を指定します。
定義済み定数は、 SQLSRV_SCROLL_NEXT
(次の列),
SQLSRV_SCROLL_PRIOR
(前の列), SQLSRV_SCROLL_FIRST
(最初の列),
SQLSRV_SCROLL_LAST
(最後の列), SQLSRV_SCROLL_ABSOLUTE
(列番号の絶対指定) and,
SQLSRV_SCROLL_RELATIVE
(列番号の相対指定) (デフォルト値).
この引数を指定する場合は、fetchType
を指定しなくてはなりません。
offset
引数rowに
SQLSRV_SCROLL_ABSOLUTE
または
SQLSRV_SCROLL_RELATIVE
を指定する際に、この引数で取得する列を指定します。
列番号は0から始まります。
成功時に配列を返します。 返す列がない場合はNULL
を返します。エラーが起きた場合は
FALSE
を返します。
例1 連想配列を扱う場合の例
<?php
$serverName = "serverName\instanceName";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
$sql = "SELECT FirstName, LastName FROM SomeTable";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
die( print_r( sqlsrv_errors(), true) );
}
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
echo $row['LastName'].", ".$row['FirstName']."<br />";
}
sqlsrv_free_stmt( $stmt);
?>
例2 配列を扱う場合の例
<?php
$serverName = "serverName\instanceName";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
$sql = "SELECT FirstName, LastName FROM SomeTable";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
die( print_r( sqlsrv_errors(), true) );
}
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC) ) {
echo $row[0].", ".$row[1]."<br />";
}
sqlsrv_free_stmt( $stmt);
?>
上の例で
fetchType
の指定を省略したり、定数
SQLSRV_FETCH_TYPE
を指定したりした場合は、
連想配列と数値添字の両方のキーを含む配列を返します。
同じ名前のカラムが複数存在する場合は、最後に現れたカラムがそれまでのすべてを上書きします。 名前の衝突を回避するには、別名を指定しましょう。
無名のカラムが返された場合、連想配列のキーは空文字列("")になります。