Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : Microsoft SQL Server Functions : mssql_fetch_row

mssql_fetch_row

Get row as enumerated array (PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)
array mssql_fetch_row ( resource result )

mssql_fetch_row() fetches one row of data from the result associated with the specified result identifier. The row is returned as an array. Each result column is stored in an array offset, starting at offset 0.

Subsequent call to mssql_fetch_row() would return the next row in the result set, or FALSE if there are no more rows.

Parameters

result

The result resource that is being evaluated. This result comes from a call to mssql_query().

Return Values

Returns an array that corresponds to the fetched row, or FALSE if there are no more rows.

Notes

Note:

This function sets NULL fields to PHP NULL value.

Examples ( Source code ) » mssql_fetch_row

<?php
// Connect to server and database
$link mssql_connect('MANGO\SQLEXPRESS''sa''phpfi');
mssql_select_db('php'$link);

// Query to execute
$query mssql_query('SELECT [id], [quote] FROM [quotes] WHERE [id] = \'42\''$link);

// Did the query failed?
if(!$query)
{
    die(
'MSSQL error: ' mssql_get_last_message());
}

// Fetch the row
$row mssql_fetch_row($query);

// Print the 'quote'
echo 'Quote #' $row[0] . ': "' $row[1] . '"';
?>

Code Examples / Notes » mssql_fetch_row

siivv

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_
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


zombie

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
';  
print_r($or_date_info);
}
while ($or_date_info = mssql_fetch_assoc($result)){
 echo '2nd pass
';  
 print_r($or_date_info);
}
Blaine Garrett
http://artattack.to?zombie


Change Language


Follow Navioo On Twitter
mssql_bind
mssql_close
mssql_connect
mssql_data_seek
mssql_execute
mssql_fetch_array
mssql_fetch_assoc
mssql_fetch_batch
mssql_fetch_field
mssql_fetch_object
mssql_fetch_row
mssql_field_length
mssql_field_name
mssql_field_seek
mssql_field_type
mssql_free_result
mssql_free_statement
mssql_get_last_message
mssql_guid_string
mssql_init
mssql_min_error_severity
mssql_min_message_severity
mssql_next_result
mssql_num_fields
mssql_num_rows
mssql_pconnect
mssql_query
mssql_result
mssql_rows_affected
mssql_select_db
eXTReMe Tracker