You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从数据库中倒序获取指定id及小于该id的所有对应数据

员工表id范围查询实现方案

核心逻辑

你要的结果本质是筛选所有id小于等于传入$id的记录,再按id倒序排列即可,不需要复杂的多条件拼接。

1. 原生SQL写法

直接执行以下SQL即可,注意用参数绑定传入$id避免SQL注入:

SELECT * FROM employee WHERE id <= ? ORDER BY id DESC;

2. PHP原生实现示例(PDO)

<?php
// 取传入的id值
$id = $request->id;
// 假设你已经初始化了PDO连接对象$pdo
$sql = "SELECT * FROM employee WHERE id <= :id ORDER BY id DESC";
$stmt = $pdo->prepare($sql);
// 绑定整数类型参数
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();
// 拿到查询结果
$employeeList = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>

3. 主流框架写法示例

Laravel 查询构造器

$id = $request->id;
$employeeList = \DB::table('employee')
    ->where('id', '<=', $id)
    ->orderBy('id', 'desc')
    ->get();

Laravel Eloquent 模型(假设对应模型为Employee)

$employeeList = Employee::where('id', '<=', $id)
    ->orderBy('id', 'desc')
    ->get();

ThinkPHP 写法

$employeeList = Db::name('employee')
    ->where('id', '<=', $id)
    ->order('id', 'desc')
    ->select();

注意事项

  • 禁止直接将$id拼接进SQL语句,必须走参数绑定,防止SQL注入风险
  • 如果需要限制返回的记录条数,可以在查询语句最后追加LIMIT条件

内容的提问来源于stack exchange,提问作者Subhadip Ghosh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 00:15:09