警告:mysql_result():无法跳转到MySQL结果索引5的第0行

时间:2013-04-24 01:50:47

标签: php mysql database

在我正在创建的社交网络大学项目中获取此错误。

  

警告:mysql_result():无法在第63行的/comersomers/2/f/b/somesrandomsite.com/httpd.www/rnfunctions.php中跳转到MySQL结果索引5的第0行

这是有问题的PHP代码......

function showProfile($user) {

    $UserID = mysql_result(mysql_query("SELECT `user_id` FROM `rnprofiles` WHERE `user` = '$user'"), 0) or die(mysql_error());        
    $Query = mysql_query("SELECT * FROM `images` WHERE `user_id` = '$UserID'") or die(mysql_error());
    while ($ImageData = mysql_fetch_assoc($Query)) {

        echo '<p><a title="'.$user.'" class="fancybox" data-fancybox-group="gallery" href="'.$ImageData['location'].'"><img src="'.$ImageData['location'].'" border="" align="left" height="150" width="150" alt=""/></a></p>';// Display each image belonging to the user
    }

    $result = queryMysql("SELECT * FROM rnprofiles WHERE user='$user'") or die(mysql_error());

    if (mysql_num_rows($result))
    {
        $row = mysql_fetch_row($result);
        echo stripslashes($row[1]) . "<br clear=left /><br />";
    }

}

如果有人有任何想法,那将是一个很大的帮助。

2 个答案:

答案 0 :(得分:1)

每当您使用$row = mysql_fetch_row($result);

因为$result仅存储资源ID。因此,每次在循环中迭代它时,如果存在,则转到另一行。

获取您必须在循环时使用的所有数据

while($row = mysql_fetch_row($result))
{
  //do your operation
}

答案 1 :(得分:1)

  

调用mysql_result()不应与其他调用混在一起   处理结果集的函数。

refer to here

所以,改变

$UserID = mysql_result(mysql_query("SELECT `user_id` FROM `rnprofiles` WHERE `user` = '$user'"), 0) or die(mysql_error());

到这个

$result=mysql_query("SELECT `user_id` FROM `rnprofiles` WHERE `user` = '$user'") or die(mysql_error());
$UserID = mysql_result($result,0);

此外,还存在语法错误。将queryMysql更改为mysql_query