dismiss Step into the future! Click here to switch to the beta php.net site
downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

mssql_execute> <mssql_connect
[edit] Last updated: Fri, 28 Jun 2013

view this page in

mssql_data_seek

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

mssql_data_seekMoves internal row pointer

Description

bool mssql_data_seek ( resource $result_identifier , int $row_number )

mssql_data_seek() moves the internal row pointer of the MS SQL result associated with the specified result identifier to point to the specified row number, first row being number 0. The next call to mssql_fetch_row() would return that row.

Parameters

result_identifier

The result resource that is being evaluated.

row_number

The desired row number of the new result pointer.

Return Values

Returns TRUE on success or FALSE on failure.

Examples

Example #1 mssql_data_seek() example

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

// Select all people
$result mssql_query('SELECT [name], [age] FROM [persons] WHERE [age] >= 13');

if (!
$result) {
    die(
'Query failed.');
}

// Select every 4th student in the results
for ($i mssql_num_rows($result) - 1$i 4$i++) {
    if (!
mssql_data_seek($result$i)) {
        continue;
    }

    
// Fetch the row ...
}

// Free the query result
mssql_free_result($result);
?>



add a note add a note User Contributed Notes mssql_data_seek - [1 notes]
up
-1
phpcomments at hltools dot com
7 years ago
mssql_data_seek will return false AND trigger a warning ('Bad row offset') if you specify a row outside the result set.
You'll need to check beforehand if the row you are trying to seek to exists. Or you can supress the error and look for the false result, depending on your needs.

To check beforehand (where $result is the result fo your query and $seek is the row number you want to seek to):
<?php
$rowcount
= mssql_num_rows($result);
if (
$seek >= $rowcount)
{
    print (
"Trying to seek outside result set!");
}
else
{
    if (!
mssql_data_seek($result, $seek))
    {
        print (
"Seek failed");
    }
    else
    {
        print (
"Seek complete");
    }
}
?>

To have a 'simpler' way of handling errors by supressing the warning:
<?php
if (!@mssql_data_seek($result, $seek))
{
    print (
"Seek failed");
}
else
{
    print (
"Seek complete");
}
?>

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