[英]Retrieving data from database with PHP using SQL - Error when using DISTINCT
這是有問題的一段代碼:
<?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 * from mount_category");
該代碼將正常工作
但是當我寫
$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
關鍵字充當特定列的唯一過濾器,因此您必須指定一列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.