私はギャラリープロジェクトに取り組んでいて、このエラーで停止しました。基本的に、たとえばユーザーがimage.php?id = 37にアクセスすると、行IDがurlパラメーターと等しい画像テーブルからすべての行情報を取得します。これらはすべて、取得される実際の画像のURL、ギャラリーID、画像IDと同様に機能します。私は今、このページに説明を取り込もうとしています。これも画像テーブルから取得されます。先に進んで列を追加し、いくつかのテストの説明を入力して、PHPページにコードを追加しました。これは、過去数日間正常に実行していたため、次のエラーが発生します。
クエリの実行に失敗しました:SQLSTATE [42000]:構文エラーまたはアクセス違反:1064SQL構文にエラーがあります。5行目の「descFROMimagesWHERE id = 37」の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。
過去の試みとは異なるものとして何も突き出ていないので、何がうまくいかなかったのかわかりません:L。
私のimage.phpページ:
<?php foreach($rows as $row): ?>
<div class="image" style="background: url('resources/galleries/images/<?php echo htmlentities($row['url'], ENT_QUOTES, 'UTF-8'); ?>') no-repeat; background-size: 100%; ">
<? if(empty($_SESSION['user'])) { } else { print '<div class="image-overlay"><a href="admin/includes/delete-img.php?id=' . $galname . '">Delete</a></div>';}?>
</div>
<div class="image-info">
<a href="gallery.php?id=<?php echo htmlentities($row['gallery'], ENT_QUOTES, 'UTF-8'); ?>">← Back to Gallery</a>
<p class="desc"><? echo htmlentities($row['desc'], ENT_QUOTES, 'UTF-8'); ?></p>
</div>
<?php endforeach; ?>
そして、$ id = $ _GET ['id'];のクエリ:
$query = "
SELECT
id,
url,
gallery,
desc
FROM images
WHERE id = $id
";
変更されたのは、クエリにdescを追加したことと、説明をエコーするためにPHPを追加したことだけです。私のテーブルには必要な追加の列があり、何が起こったのかわかりません。単純な間違いかもしれませんが、構文にエラーが表示されません。どんな助けでも大歓迎です、ありがとう!