1

私はmySQL検索に取り組んでおり、PHPコード内でそれに応じて情報を表示してWebサイトに表示しますが、何をしようとしても結果が表示されません。コードが機能する前は、テーブルを 1 つしか操作していなかったのに、結合を実行すると機能しませんでした。私はこれを正しく行っていないように感じ、答えを探しましたが、がっかりすることはありません. これは、動作中の MySQL と PHP のコード全体と、ini_set('display_errors','On') と ini_set('error_reporting',E_ALL); の両方を使用したときに発生するエラーです。

$result = mysqli_query($connection, "SELECT 
    projects.ProjectName, 
    projects.ProjectLogo, 
    projects.ProjectLink, 
    projects.ProjectDescription, 
    entries.EntryNum, 
    entries.Votes, 
    entries.Views, 
    entries.Update 
FROM    projects 
        INNER JOIN entries 
            ON  projects.ProjectID = entries.ProjectID 
        INNER JOIN  
        (
            SELECT  a.ProjectID, MAX(a.Update) max_val
            FROM    entries a
            GROUP   BY a.ProjectID
        ) b ON  b.ProjectID = entries.ProjectID AND
                b.max_val = entries.Update
WHERE   projects.Media = 'image' AND 
        projects.Type = 'fan-art' 
ORDER   BY entries.Update DESC");

while($row = mysqli_fetch_array($result)) {
    echo "
        <a href=\"" . $row['projects.ProjectLink'] . "\" >
         <div onMouseOver=\"description('" . $row['projects.ProjectName'] .  "', '" . $row['projects.ProjectDescription'] .  "', '" . (int)$row['entries.EntryNum'] .  "', '" . (int)$row['entries.Votes'] .  "', '" . $row['entries.Update'] .  "', '" . "')\" style=\"width: 140px; height: 130px; float: left; margin: 0px 5px 5px 0px;\">
          <img src=\"../" . $row['projects.ProjectLogo'] . "\" style=\"margin: 0px 5px 0px 5px;\" />
         </div>
        </a>
    ";
}

エラーの1つは

注意: 未定義のインデックス: projects.ProjectLink の /home/a3027546/public_html/images/fanart.php 行 43

4

1 に答える 1

1

配列名に (ドット) が含まれている可能性はないと思います (または、フェッチされる配列にプレフィックス.が含まれていない可能性があります)。コードでエラーが発生する可能性があります。table.

while($row = mysqli_fetch_array($result)) {
    echo $row['projects.ProjectLink'] ...
    $row['projects.ProjectName'] ...
    $row['projects.ProjectDescription'] ...
    (int)$row['entries.EntryNum'] ...
    (int)$row['entries.Votes'] ...
     $row['entries.Update'] ...
    $row['projects.ProjectLogo']
}

次のようにする必要があります。

while($row = mysqli_fetch_array($result)) {
    echo $row['ProjectLink'] ...
    $row['ProjectName'] ...
    $row['ProjectDescription'] ...
    (int)$row['EntryNum'] ...
    (int)$row['Votes'] ...
     $row['Update'] ...
    $row['ProjectLogo']
}

それでもうまくいかない場合projects.ProjectLink AS 'ProjectLink'は、選択した各項目に次のようなものを追加して、上記の解決策を使用してください。

于 2013-03-23T01:42:24.580 に答える