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

胡子哥哥
TA贡献1825条经验 获得超6个赞
利用 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
,结果将是相同的。请注意,当您使用逗号时,数字是相反的。

潇湘沐
TA贡献1816条经验 获得超6个赞
利用 DESC LIMIT ?
所以代码必须是最后 8 个插入列的:
$query = $pdo->prepare('SELECT * FROM `post` ORDER BY `post_id` DESC LIMIT 8');
此代码显示数据库中最后插入的列。

湖上湖
TA贡献2003条经验 获得超2个赞
您的查询是 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
- 3 回答
- 0 关注
- 209 浏览
添加回答
举报
0/150
提交
取消