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");
}
?>
mssql_data_seek
(PHP 4, PHP 5, PECL odbtp:1.1.1-1.1.4)
mssql_data_seek — Sposta il puntatore di riga interno
Descrizione
bool mssql_data_seek
( resource $id_risultato
, int $numero_riga
)
Restituisce TRUE in caso di successo, FALSE in caso di fallimento.
La funzione mssql_data_seek() sposta il puntatore di riga, interno al risultato associato all'identificativo di risultato, alla riga indicata dall'argomento numero_riga, la prima riga inzia con il numero 0. La chiamata successiva a mssql_fetch_row() restituirĂ la riga richiesta.
mssql_data_seek
phpcomments at hltools dot com
20-Jul-2005 04:33
20-Jul-2005 04:33
