繁体   English   中英

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

[英]How to fetch specific row from the database?

我正在创建一个简单的网站,需要从数据库中获取特定的列。 我只需要从数据库中获取最后第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();

使用SELECT * FROM post ORDER BY post_date LIMIT 1 OFFSET 4

LIMIT之后的第二个参数定义偏移量。 这样,您只能返回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');

此代码显示数据库中最后插入的列。

您可以直接获得第5列,例如

SELECT COLUMN_NAME -> FROM post;

您的查询是SELECT * FROM post ORDER BY post_date LIMIT 4, 5

因为只需要1行,所以限制应该是1

现在您要插入最后一个,因此您需要使用DESC

只需使用此查询,您就完成了,

SELECT * FROM post ORDER BY post_date DESC LIMIT 1, 5

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM