-1

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

警告:mysql_result():无法跳转到第 63 行 /customers/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 />";
    }

}

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

4

2 回答 2

1

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

因为$result只存储资源ID。因此,每次您将在循环中迭代它时,它都会转到另一行(如果存在)。

要获取所有数据,您必须使用 while 循环,如下所示

while($row = mysql_fetch_row($result))
{
  //do your operation
}
于 2013-04-24T02:27:12.290 回答
1

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

参考这里

所以,改变

$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);

此外,还有语法错误。更改queryMysqlmysql_query

于 2013-04-24T04:19:42.527 回答