警告:mysql_result() [function.mysql-result]:无法跳转到第 -1 行


Warning: mysql_result() [function.mysql-result]: Unable to jump to row -1

这是我的页面代码:

 <?php
    $dbhost="****";
    $dbname = '****';
    $dbusername="********";
    $dbpass="*****;
    $con = mysql_connect("$dbhost","$dbusername","$dbpass");
    mysql_select_db($dbname,$con);
    ?>
    <main>
    <table width='100%'  align='center'>
    <tr align='center'>
    <?php
    $sql = "SELECT * FROM file ORDER BY data";
    $result = mysql_query($sql);
    $num = mysql_num_rows($result);
    $j = $num - 1;
    $fyear = mysql_result($result, $j, "data");
    $year = 2005;
    while ($year <= $fyear)
    {
    $sql = "SELECT * FROM file WHERE posizione = 'uila/blindi.php' AND YEAR(data) = ".$year." ORDER    BY data";
            $result = mysql_query($sql);
            $row = mysql_fetch_array($result);
            $num = mysql_num_rows($result);
            $i = 0; 
                echo "<td>";
                    while ($i < $num)
                        {
                            $file = mysql_result($result, $i, "pdf");
                            $name = mysql_result($result, $i, "nome");
                            $type = mysql_result($result, $i, "type");
                            $path = mysql_result($result, $i, "posizione");
                            echo "<a href='"opendoc.php?type={$type}&id={$i}&path={$path}'" TARGET='"_self'">"?><?php echo $name; ?></a><br>
                            <?php
                            $i++;
                        }
                        echo "</td>";
                        $year++;
                    }
                ?>              
    </tr>
</table> 

这是页面的错误:

警告:mysql_result() [function.mysql-result]:无法跳转到第 47 行 D:''Inetpub''webs''uilanotiziecom''bindi.php 中 MySQL 结果索引 2 上的第 -1 行

第47行是: $j = $num - 1;

我该如何解决它?

你试过这个吗?

 if ( $num >= 1 ) {
      $j = $num - 1;
 }

如果您的查询返回 0 行,则会收到错误,在这种情况下您做什么取决于您

我认为下面的sql查询返回空结果,这就是您遇到问题的地方。

$sql = "SELECT * FROM file ORDER BY data";

这就是为什么$j值是 -1

仅供参考,

请使用正确的命名约定和唯一的变量名称,因为您在两个查询中使用了$sql