【问题标题】:Warning: mysql_result() [function.mysql-result]: Unable to jump to row -1警告:mysql_result() [function.mysql-result]:无法跳转到第-1行
【发布时间】:2014-12-09 09:52:39
【问题描述】:

这是我的页面代码:

 <?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;

我该如何解决?

【问题讨论】:

  • 我认为 mysql_query 返回一个空集,因此 num_rows 将为 0。结果 j 为 -1。
  • 在你的 mysql 命令提示符下运行查询“SELECT * FROM file ORDER BY data”并检查它返回的内容。
  • 如果有任何错误,请修复错误(例如不正确的表/列名或其他内容),否则请确保表中有数据。
  • 在“prodotti”表中有 2 行,但没有显示。下面的代码也没什么

标签: php function row warnings


【解决方案1】:

你试过吗? :

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

如果您的查询返回 0 行,您会收到错误,在这种情况下您要做什么由您自己决定

【讨论】:

    【解决方案2】:

    我认为下面的 sql 查询返回空结果,这是您面临的问题。

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

    这就是 $j 值为 -1 的原因

    仅供参考,

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

    【讨论】:

    • 我改变 $sql = "SELECT * FROM file ORDER BY data"; in $sql_1 = "SELECT * FROM file ORDER BY data";但什么都没有改变
    • Roberto 你有没有为你的 $sql 查询获取任何记录?
    • 不,但我需要它来在不同的列中排列单个文件(多年)
    • 还有其他建议吗?我真的需要快速解决这个错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    • 2013-03-04
    • 1970-01-01
    相关资源
    最近更新 更多