我一直在做一个画廊项目,但我遇到了这个错误。例如,基本上当用户访问 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 以回显描述。我的表有必要的额外列,我看不出发生了什么。这可能只是一个简单的错误,但我在语法中看不到错误。任何帮助将不胜感激,谢谢!