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

また、構文エラーがあります。queryMysqlに変更mysql_query

于 2013-04-24T04:19:42.527 に答える