如何从数据库中获取特定行?

我正在创建简单的网站,需要从数据库中获取特定的列。我只需要从数据库中获取最后的第 5 列来显示,我就被困在这里了。


我试过的这段代码:


SELECT * FROM `post` ORDER BY `post_date` LIMIT 4, 5

但是通过我页面上的这段代码,我得到了从最后 5 列到最后 10 列的所有行,我不需要只显示最后插入的第 5 列。


我的完整代码如下所示:


class Second {

        public function second_post(){

            global $pdo;


            $query = $pdo->prepare('SELECT * FROM `post` ORDER BY `post_date` LIMIT 4, 5');

            $query->execute();


            return $query->fetchAll(PDO::FETCH_ASSOC);

        }


        public function fetch_data($pid){

            global $pdo;


            $query = $pdo->prepare('SELECT * FROM `post` ORDER BY `post_date` LIMIT 4, 5');

            $query->BindValue(1,$pid);

            $query->execute();


            return $query->fetch();

        }

    }


$sec = new Second;

    $check = new Second;

    $secs = $sec->second_post();


德玛西亚99
浏览 210回答 3
3回答

胡子哥哥

利用 SELECT * FROM post ORDER BY post_date LIMIT 1 OFFSET 4LIMIT 之后的第二个参数定义偏移量。这样,您只能返回 1 条记录并从第 5 条记录(偏移量 4)开始。您也可以使用SELECT * FROM post ORDER BY post_date LIMIT 4, 1,结果将是相同的。请注意,当您使用逗号时,数字是相反的。

潇湘沐

利用 DESC LIMIT ?所以代码必须是最后 8 个插入列的:$query = $pdo->prepare('SELECT * FROM `post` ORDER BY `post_id` DESC LIMIT 8');此代码显示数据库中最后插入的列。

湖上湖

您的查询是 SELECT * FROM post ORDER BY post_date LIMIT 4, 5因为你只想要1行,所以 limit 应该是1.现在你想最后插入所以你需要使用 DESC只需使用此查询,您就完成了,SELECT * FROM post ORDER BY post_date DESC LIMIT 1, 5
打开App,查看更多内容
随时随地看视频慕课网APP