我一直在做一个画廊项目,但我遇到了这个错误。例如,基本上当用户访问 image.php?id=37 时,它会从行 id 等于 url 参数的图像表中检索所有行信息。对于要检索的实际图像 url、画廊 ID 和图像 ID,所有这些都运行良好。我现在正在尝试将描述合并到此页面中,该页面也是从图像表中检索的。我已经继续添加列,输入了一些测试描述并将代码添加到我的 PHP 页面中,因为过去几天我一直在成功执行此操作,但出现此错误:
无法运行查询:SQLSTATE [42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 5 行的“desc FROM images WHERE id = 37”附近使用正确的语法
我看不出哪里出了问题,因为没有什么与过去的尝试不同: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 以回显描述。我的表有必要的额外列,我看不出发生了什么。这可能只是一个简单的错误,但我在语法中看不到错误。任何帮助将不胜感激,谢谢!