簡體   English   中英

使用 SQL 使用 PHP 從數據庫中檢索數據 - 使用 DISTINCT 時出錯

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM