mssql_fetch_row
(PHP 4, PHP 5, PECL odbtp >= 1.1.1)
mssql_fetch_row — Get row as enumerated array
Описание
$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.
Список параметров
-
result
-
The result resource that is being evaluated. This result comes from a call to mssql_query().
Возвращаемые значения
Returns an array that corresponds to the fetched row, or FALSE
if there
are no more rows.
Примеры
Пример #1 mssql_fetch_row() example
<?php
// Connect to MSSQL and select the 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 fail?
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] . '"';
?>
Результатом выполнения данного примера будет что-то подобное:
Quote #42: "The answer to everything..."
Примечания
Замечание: Эта функция устанавливает NULL-поля в значение
NULL
PHP.
Смотрите также
- mssql_fetch_array() - Fetch a result row as an associative array, a numeric array, or both
- mssql_fetch_object() - Fetch row as object
- mssql_data_seek() - Moves internal row pointer
- mssql_result() - Get result data
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с базами данных
- Расширения для работы с базами данных отдельных производителей
- Microsoft SQL Server
- 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
Коментарии
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
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
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