使用SQL使用PHP从数据库检索数据-使用DISTINCT时出错
下面是一段有问题的代码:使用SQL使用PHP从数据库检索数据-使用DISTINCT时出错,php,mysql,Php,Mysql,下面是一段有问题的代码: <?php include_once("database.php"); $getmtn = $db->prepare("select distinct from mount_category"); $getmtn->execute(); $getCategory=$getmtn->fetchAll(PDO::FETCH_OBJ);
<?php
include_once("database.php");
$getmtn = $db->prepare("select distinct from mount_category");
$getmtn->execute();
$getCategory=$getmtn->fetchAll(PDO::FETCH_OBJ);
foreach($getCategory as $cat)
echo"<a href='$cat->category.php'>
<div class='col-lg-4 col-md-6 mb-4' data-aos='fade-up'>
<div class='listing-item'>
<div class='listing-image'>
<img src='images/$cat->category.jpg' alt='Image' class='img-fluid'>
</div>
<div class='listing-item-content'>
<h2 class='mb-1'><a href=''>$cat->category</a></h2>
<a class='px-4 mb-1 category bg-primary' href='$cat->category.php'>Read More</a>
</div>
</div>
</div></a>"
?>
代码将很好地工作
但是当我写作的时候
$getmtn = $db->prepare("select distinct from mount_category");
页面未按其应加载的方式加载,而是显示以下错误:
Fatal error
: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from mount_category' at line 1 in /home/60093552/public_html/mnkljmnk/mnkljmnk/mnkljmnk/OPEN INDEX FIRST/category.php:91 Stack trace: #0 /home/60093552/public_html/mnkljmnk/mnkljmnk/mnkljmnk/OPEN INDEX FIRST/category.php(91): PDO->prepare('select distinct...') #1 {main} thrown in
/home/60093552/public_html/mnkljmnk/mnkljmnk/mnkljmnk/OPEN INDEX FIRST/category.php
on line
91
第91行是“distinct/*”行。MySQL中保留了
distinct
关键字,您需要使用反勾号来防止这种情况
$getmtn = $db->prepare("select `distinct` from mount_category");
如果我理解不正确,并且您的表中没有不同的列,那么您需要指定一列。
distinct
关键字充当特定列的唯一筛选器,因此您必须指定一列。您在失败的查询中忘记了*
。(或者指定要选择的列。)是的,我没有一个名为“distinct”的列,我只是想检索数据而不重复它。谢谢,成功了。以下是访问此问题的用户的固定代码:$getmtn=$db->prepare(“从mount_类别中选择不同类别”)$getmtn->execute()$getCategory=$getmtn->fetchAll(PDO::FETCH_OBJ)代码>
$getmtn = $db->prepare("select `distinct` from mount_category");