Предупреждение: mysql_result () [function.mysql-result]: невозможно перейти к строке -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]: невозможно перейти к строке -1 в индексе результатов MySQL 2 в D: \ Inetpub \ webs \ uilanotiziecom \ bindi.php в строке 47

47-я строка: $j = $num - 1;

Как я могу это исправить?

0

Решение

ты пробовал это? :

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

если ваш запрос возвращает 0 строк, вы получаете сообщение об ошибке, что вы делаете в этом случае, зависит от вас

0

Другие решения

Я думаю, что ниже SQL-запрос возвращает пустой результат, где вы столкнулись с проблемой.

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

Вот почему значение $ j равно -1

И, к вашему сведению,

Пожалуйста, используйте правильные соглашения об именах и уникальные имена переменных, которые вы использовали $ SQL для обоих запросов

0