downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

mssql_field_length> <mssql_fetch_object
[edit] Last updated: Fri, 25 May 2012

view this page in

mssql_fetch_row

(PHP 4, PHP 5, PECL odbtp >= 1.1.1)

mssql_fetch_row配列として行を取得する

説明

array mssql_fetch_row ( resource $result )

mssql_fetch_row() は指定した結果 ID に関連する結果から 1 行分のデータを取得します。行は配列として返されます。 配列オフセットに保存された各結果カラムは、オブセット 0 から始まります。

mssql_fetch_rows() を続けてコールした場合、 結果セットの次の行が返され、行がもうない場合は FALSE が返されます。

パラメータ

result

処理対象となる結果リソース。これは mssql_query() のコールによって取得します。

返り値

取得された行に対応する配列、または行がもうない場合に FALSE を返します。

例1 mssql_fetch_row() の例

<?php
// MSSQL に接続し、データベースを選択します
$link mssql_connect('MANGO\SQLEXPRESS''sa''phpfi');
mssql_select_db('php'$link);

// クエリを実行します
$query mssql_query('SELECT [id], [quote] FROM [quotes] WHERE [id] = \'42\''$link);

// クエリが失敗したか?
if (!$query) {
    die(
'MSSQL error: ' mssql_get_last_message());
}

// 行を取得します
$row mssql_fetch_row($query);

// 'quote' を表示します
echo 'Quote #' $row[0] . ': "' $row[1] . '"';
?>

上の例の出力は、 たとえば以下のようになります。

Quote #42: "The answer to everything..."

注意

注意: この関数は、 NULL フィールドに PHPの NULL 値を設定します。

参考



mssql_field_length> <mssql_fetch_object
[edit] Last updated: Fri, 25 May 2012
 
add a note add a note User Contributed Notes mssql_fetch_row
zombie(at)artattack(dot)to 05-Dec-2003 01:50
It seems that when you use the MSSQL fetch_* functions you need to manually reset the $result 's internal pointer when doinging a while loop.

i.e.the below seems to only print out the first set. I don't remember this being the case with mysql, but it makes sense that it would do the same.

while ($or_date_info = mssql_fetch_assoc($result)){
 echo '1st pass<BR>';  
 print_r($or_date_info);
}
while ($or_date_info = mssql_fetch_assoc($result)){
  echo '2nd pass<BR>'; 
  print_r($or_date_info);
}

Blaine Garrett
http://artattack.to?zombie
siivv at yahoo dot com 24-Apr-2002 03:35
jus do this instead.. no for loop necessary

while($line = mssql_fetch_row($result)){
print "$line[0],$line[1]";  // etc.
}

no need to have a whole extra variable $i tossed in
will_ <sql at mookandblanchard dot com> 01-Feb-2002 10:44
It took me way too long to notice the MySQL error in the note above (way tooo late and not enough sleep).  Here's what I hacked up:

<?php
$hostname
= "localhost";
$username = "username";
$password = "password";
$dbName = "database";

MSSQL_CONNECT($hostname,$username,$password) or DIE("DATABASE FAILED TO RESPOND.");
mssql_select_db($dbName) or DIE("Table unavailable");

$query = "SELECT * FROM dbo.table";

$result = mssql_query( $query );

for (
$i = 0; $i < mssql_num_rows( $result ); ++$i)
     {
        
$line = mssql_fetch_row($result);
         print(
"$line[0] - $line[1]\n");
     }
?>

Thanks,

will_  @ irc.openprojects.net#php

 
show source | credits | stats | sitemap | contact | advertising | mirror sites